Comment afficher le contenu d'un fichier APK Android?

Réponses:

125

En fait, le fichier apk n'est qu'une archive zip, vous pouvez donc essayer de renommer le fichier theappname.apk.zipet de l'extraire avec n'importe quel utilitaire zip (par exemple 7zip).

Le androidmanifest.xmlfichier et les ressources seront extraits et peuvent être visualisés alors que le code source n'est pas dans le package - juste le fichier .dex compilé ("Dalvik Executable")

DonGru
la source
37

Il est désormais livré avec Android Studio. Allez simplement dans Build / Analyze APK ... puis sélectionnez votre APK :)

entrez la description de l'image ici

TienLuong
la source
14

Pendant que la décompression révélera les ressources, le AndroidManifest.xmlsera encodé.apktoolpeut - entre autres choses - décoder également ce fichier.

Pour décoder l'application App.apkdans le dossier App, exécutez

apktool decode App.apk App

apktool n'est pas inclus dans le SDK Android officiel, mais disponible en utilisant la plupart des référentiels de paquets.

Jens Erat
la source
10

Il y a aussi des zzos . (Divulgation complète: je l'ai écrit). Il ne décompile que les ressources réelles, pas la partie dex ( baksmali , que je n'ai pas écrit, fait un excellent travail de gestion de cette partie).

Zzos est beaucoup moins connu que apktool, mais il y a des APK qui sont mieux gérés par celui-ci (et vice versa - plus à ce sujet plus tard). La plupart du temps, les APK contenant des types de ressources personnalisés (pas des modificateurs) n'ont pas été gérés par apktool la dernière fois que j'ai vérifié, et sont gérés par zzos. Il existe également des cas d'échappements que zzos gère mieux.

Du côté négatif des choses, zzos (version actuelle) nécessite quelques outils de support pour être installé. Il est écrit en perl (par opposition à APKTool, qui est écrit en Java), et utilise aapt pour la décompilation réelle. Il ne décompile pas encore les ressources d'attribut (ce que fait APKTool).

La signification du nom est «aapt», le compilateur de ressources d'Android, décalé d'une lettre vers le bas.

Shachar Shemesh
la source
6

4 façons suggérées pour ouvrir les fichiers apk:

1. ouvrez le fichier apk par Android Studio (pour la photo, code java et analysez la taille) de la meilleure façon

entrez la description de l'image ici

2. ouvert par les applications winRar, 7zip, etc (Juste pour voir les photos et ...)

3.utiliser les compilateurs javadecompilers du site Web (pour les photos et le code java)

4. utilisez les outils APK (pour la photo et le code java)

Rasoul Miri
la source
6

unzip my.apk

Cela fait l'affaire à partir de la ligne de commande Linux car le format APK n'est qu'un fichier ZIP en haut.

Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
la source
3

Il existe un décompilateur en ligne pour les apks Android

http://www.decompileandroid.com/

Télécharger l'apk depuis une machine locale

Attends quelques instants

télécharger le code source au format zip.

Décompressez-le, vous pouvez afficher toutes les ressources correctement mais tous les fichiers java ne sont pas correctement décompilés.

Pour plus de détails, visitez cette réponse

AndroidGeek
la source
2

Selon la raison pour laquelle vous souhaitez extraire l'APK, APK Analyzer peut être suffisant. Il vous montre les répertoires et la taille des fichiers. Il affiche également le nombre de méthodes regroupées par package dans lequel vous pouvez explorer.

APK Analyzer est intégré à Android Studio. Vous pouvez y accéder depuis le menu supérieur, Build -> Analyze APK.

Eliasbagley
la source
2

En cas d' applications hybrides développées à l'aide de cordova et angularjs, vous pouvez:

1) Renommez le fichier .apk en .zip
2) Extraire / Décompressez le contenu
3) Dans le dossier assets, vous obtiendrez le dossier www

Kailas
la source
1

Vous pouvez également utiliser Jadx - https://github.com/skylot/jadx . J'ai utilisé tous les outils mentionnés dans cette page et j'ai trouvé que Jadx fonctionne le mieux. Le fichier manifeste et les autres fichiers de classe sont convertis au format lisible autant que possible par cet outil.

PS - http://www.javadecompilers.com/apk utilise également le décompilateur jadx pour faire le même travail en ligne. Plus simple si vous souhaitez désarchiver un seul apk.

À votre santé!

Monal Jain
la source
0

Vous pouvez également voir le contenu d'un fichier APK dans l'appareil Android lui-même, ce qui aide beaucoup au débogage.

Tous les fichiers, y compris le manifeste d'une application, peuvent être consultés et également partagés par e-mail, cloud, etc., sans enracinement requis. L'application est disponible à partir de:

https://play.google.com/store/apps/details?id=com.dasmic.android.apkpeek

Avertissement: je suis l'auteur de cette application.

cbelwal
la source