211 votes

Android conserve-t-il les fichiers .apk ? Si oui où ?

Après installe android une demande du marché, garde-t’il le fichier .apk ?

Y a-t-il un emplacement standard où Android garderait ces fichiers ?

131voto

Macarse Points 36519

Applications préinstallées sont en dossier. Les applications utilisateur installé sont . Je suppose que vous ne pouvez pas accéder à moins d’avoir un téléphone enraciné. Je n’ai pas un téléphone non enraciné ici mais que vous essayer ce code :

Il répertorie les apks dans mon htc enraciné la magie et à l’UEM.

102voto

Jan Przybylo Points 591

Si vous voulez juste obtenir un fichier APK de quelque chose que vous avez précédemment installé, procédez comme suit :

  1. Obtenir AirDroid depuis le jeu de Google
  2. Accéder à votre téléphone en utilisant AirDroid depuis votre navigateur web de PC
  3. Allez dans applications et sélectionnez l’application installée
  4. Cliquez sur le bouton « Télécharger » pour télécharger la version APK de cette application depuis votre téléphone

Vous n’avez pas besoin à la racine de votre téléphone, utilisez `` , ou d’écrire quoi que ce soit.

26voto

hackbod Points 55292

Il n'y a pas lieu, cependant, vous pouvez utiliser le PackageManager à savoir sur les colis et les ApplicationInfo classe que vous pouvez obtenir à partir d'il y a diverses informations sur un package particulier: le chemin d'accès à son .apk, le chemin d'accès à son répertoire de données, le chemin d'accès à une ressource uniquement .apk (pour l'avant verrouillé apps), etc. Notez que vous peut ou peut ne pas avoir l'autorisation de lire ces répertoires en fonction de votre relation avec l'autre application; cependant, toutes les applications sont capables de lire de la ressource .apk (qui est aussi le réel .apk pour les non-de l'avant-verrouillé app).

Si vous êtes juste de fouiller dans le shell, pour l'heure non de l'avant-verrouillé applications sont situés dans /data/app/.apk. Le shell de l'utilisateur peut lire un particulier .apk, bien qu'il ne peut pas la liste de l'annuaire. Dans une version future de la convention de nommage d'être légèrement modifiés, donc ne comptez pas sur elle reste la même, mais si vous obtenez le chemin de l' .apk depuis le gestionnaire de paquets que vous pouvez utiliser dans la coquille.

18voto

xmaslatte Points 131

Applications préinstallées sont généralement dans /system/app et de l'utilisateur et les applications installées sont dans /data/app.

Vous pouvez utiliser "bad", mais vous avez besoin de connaître le chemin d'accès complet du fichier APK. Sur l'émulateur, vous pouvez obtenir une liste de répertoires à l'aide de "adb shell" + "ls". Mais sur un appareil android, vous ne serez pas en mesure de le faire dans "/data" dossier pour des raisons de sécurité. Alors, comment pouvez-vous comprendre le chemin d'accès complet du fichier APK?

Vous pouvez obtenir une liste complète de toutes les applications installées par l'écriture d'un programme qui interroge la PackageManager. Court extrait de code ci-dessous:

PackageManager  pm = getPackageManager();
List<PackageInfo> pkginfo_list = pm.getInstalledPackages(PackageManager.GET_ACTIVITIES);
List<ApplicationInfo> appinfo_list = pm.getInstalledApplications(0);
for (int x=0; x < pkginfo_list.size(); x++){             
  PackageInfo pkginfo = pkginfo_list.get(x);
  pkg_path[x] = appinfo_list.get(x).publicSourceDir;  //store package path in array
}

Vous pouvez également trouver des applications qui vont donner ces infos. Il y en a beaucoup. Essayez celui-ci (AppSender).

9voto

tomwhipple Points 1669

Si vous recherchez le chemin d'une application spécifique, une solution rapide et sale consiste à simplement grep le rapport de bogue:

 $ adb bugreport | grep 'dir=/data/app' 
 

Je ne sais pas si cela fournira une liste exhaustive, il peut donc être utile d'exécuter l'application en premier.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X