Si vous connaissez le installé le nom de fichier de l'apk (qui sur certains appareils peut être myapp-1.apk ou myapp-2.apk plutôt que juste myapp.apk), vous pouvez y accéder directement en tant qu'utilisateur ordinaire, y compris celui sous lequel adb s'exécute sur un appareil sécurisé, donc vous devriez être capable de le tirer avec adb. Mais si vous ne connaissez pas le installé apk, vous ne pouvez pas parcourir le répertoire /data/app sans être Root ou aid_system.
Cela peut valoir la peine de deviner le nom installé - essayez-le sans rien, essayez-le avec le -1.apk, et le -2.apk, etc.
Il y a peut-être un autre moyen : Je pense que ce qui suit fonctionnera sur un appareil sécurisé, mais je n'en ai pas un sous les yeux pour le tester.
EDIT : Nouvelle idée pour déterminer le nom exact du fichier APK
1) adb pull /data/system/packages.xml
2) Recherchez dans ce document l'entrée codePath de votre application.
3) adb pull that
EDIT : En ce qui concerne l'ancienne idée ci-dessous, Matthew a découvert que si les fichiers per-process sous /proc ont le droit de lecture sur un périphérique sécurisé, ils sont vides lorsqu'ils sont lus par un uid non privilégié autre que celui de leur propriétaire. Cela ne fonctionnera donc pas.
1) Faites fonctionner votre application. Vous aurez également besoin d'une machine avec adb.
2) type
adb shell ps
et cherchez la ligne avec le nom de votre application :
app_1 11959 907 112984 27580 ffffffff afd0c5bc S com.clevername.myapp
3) prenez le numéro de la deuxième colonne qui est l'identifiant du processus, et affichez sa carte de mémoire virtuelle, dans ce cas je taperais
adb shell cat /proc/11959/maps
et cherchez une ligne où il a mappé son propre fichier apk en mémoire
43e9c000-43ea3000 r--s 001f4000 b3:06 15393 /data/app/com.clevername.myapp-1.apk
4) C'est le nom du fichier que vous devez utiliser pour adb pull.
adb pull /data/app/com.clevername.myapp-1.apk .
L'examen des permissions du répertoire /proc suggère que cela devrait fonctionner pour un utilisateur non privilégié, mes excuses si ce n'est pas le cas. Si vous êtes familier avec l'utilisation de 'grep', vous pouvez l'utiliser pour éviter de scanner manuellement la sortie.
Addendum : Je ne suis pas vraiment sûr de l'histoire des applications installées sur la carte SD.