6 votes

Comment retirer les apks de mon téléphone Android ?

J'ai un téléphone Android enraciné. J'essaie d'extraire les applications de /system/app/. Cependant, cela ne permet pas de copier l'apk. Ce que j'ai essayé.

    adb shell
    su
    cd data
    cd app
    ls

De nombreuses applications sont présentées. Cependant, lorsque j'essaie de la tirer, le message suivant apparaît

adb pull /data/app test

pull: building file list...
0 files pulled. 0 files skipped.

Lorsque j'essaie de l'extraire du système/de l'application, il l'extrait mais aucun fichier n'est créé sur mon ordinateur. J'ai spécifié le nom du fichier, j'ai essayé avec et sans le nom du fichier. Quelqu'un pourrait-il me dire ce que je fais de mal ?

J'ai également essayé individuellement avec des apks spécifiques. Mais cela ne fonctionne pas non plus.

6voto

David Negron Points 971

Si vous utilisez su pour obtenir les privilèges Root lorsque vous vous connectez (ce que vous avez indiqué), cela signifie que vous n'êtes pas Root sur le shell par défaut. adb pull échoue avec ce message d'erreur car il n'a pas la permission d'indexer le répertoire et d'en extraire le contenu.

Vous devriez pouvoir redémarrer adb sur votre appareil avec adb root d'abord :

adb root
adb pull /data/app/

Et un exemple tout à fait illustratif pour montrer que c'est le problème probable (j'ai utilisé /data/misc juste parce qu'il est plus petit) :

[09:27:23] ~/adb-test $ adb pull /data/misc/
pull: building file list...
0 files pulled. 0 files skipped.  <-------------- Same issue because we're not root yet!
[09:27:49] ~/adb-test $ adb root
[09:27:56] ~/adb-test $ adb pull /data/misc/
pull: building file list...
... Snip all of the individual files here ...
24 files pulled. 0 files skipped.
65 KB/s (7732 bytes in 0.115s)
[09:27:59] ~/adb-test $

Une autre option pour redémarrer adb comme Root l'est L'application adbd non sécurisée de Chainfire . Certaines ROMs ne supporteront pas le adb root car ils n'ont pas été conçus pour le permettre. Ce sera le cas si vous créez une ROM stock sans en installer une personnalisée, par exemple.

1voto

Chris Stratton Points 1639

Vous n'avez pas besoin que adb soit exécuté en tant que Root pour extraire les fichiers réels, mais vous avez besoin qu'il soit exécuté en tant que Root pour lister le répertoire dans lequel ils sont situés (ce qui serait une condition implicite pour extraire le répertoire entier).

Si vous voulez le faire sans Root, tirez /data/system/packages.xml et extrayez les chemins de code des applications à partir de là, puis adb les tire individuellement par leurs noms de chemin complets. Cela pourrait être une excellente occasion d'apprendre à utiliser grep et xargs - ou d'utiliser votre langage de script côté hôte préféré.

0voto

Chahk Points 19297

Tout d'abord, assurez-vous que vous avez la dernière version de l'utilitaire ADB en téléchargeant la dernière version du SDK Android à partir de aquí .

La syntaxe est la suivante adb pull <path to apk> <path on PC> . Pour la partie "chemin d'accès au PC", essayez de spécifier le chemin d'accès complet, avec la lettre du lecteur, comme suit :

adb pull /data/app/myapp.apk c:\test

Pour tirer tous des applications du répertoire /data/app essayez ceci :

adb pull /data/app/ c:\test

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