1 votes

Générer un script de déblocage racine à partir d'une liste de paquets après un déblocage non racine réussi

Il y a deux façons de se débarrasser des applications pour débloquer une ROM :

  • adb shell pm uninstall -k --user 0 <package-name> (sur PC)
  • rm -rf <package folder> (sur l'appareil, dans le terminal de TWRP)

La première méthode présente un grand avantage : les applications supprimées peuvent être restaurées par

  • adb shell cmd package install-existing <package_name> Mais l'inconvénient est qu'il consomme toujours de la mémoire.

Le mieux est donc d'appliquer la première méthode jusqu'à ce que vous constatiez que tout va bien et que le produit n'a pas été trop débloqué. Ne pas faire manuellement le "rm" et la sélection des paquets. Existe-t-il un bon moyen de lister les paquets désinstallés ? y générer une liste pour la commande "rm". ? Merci de votre attention.

1voto

Rand0mMan Points 300

Je suppose que vous voulez dire uniquement les paquets système désinstallés .

Voici un petit script bash qui fait ce que vous voulez :

#!/usr/bin/env bash

set -euo pipefail

declare -a PACKAGES=()

readarray -t PACKAGES < <(comm -3 <(adb shell 'pm list packages -s -u -f' | sort -i) \
                                  <(adb shell 'pm list packages -s -f'    | sort -i))

for package in "${PACKAGES[@]}"; do
    echo "rm -rf $package" | sed -r 's/package://g' | sed -r 's/=.*//g' >> root_debloat.txt
done
echo "root_debloat.txt generated."

Ensuite, il vous suffit d'exécuter les commandes via le shell adb en tant que Root :

adb shell su < root_debloat.txt

Ce que fait le script :

  1. Placer la liste des paquets système désinstallés dans le tableau PACKAGES .

Pourquoi cette commande compliquée ? Parce que pm list packages -s -u retours installés y les paquets système désinstallés. Vous devez donc faire la différence entre cette liste et la liste des paquets système installés.

Chaque élément du tableau aura cette forme (en raison de l'utilisation de l'élément -f option) : package:/path/to/apk=package.name

  1. Générer la liste des commandes rm et les écrire une par une, pour chaque paquet, dans le fichier root_debloat.txt fichier.

Vous ne voulez que le chemin. Le sédimentaire Les commandes sont là pour éliminer le reste.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X