2010-08-30 21 views

Respuesta

95

En realidad, el archivo apk es solo un archivo zip, por lo que puede intentar cambiar el nombre del archivo a theappname.apk.zip y extraerlo con cualquier utilidad de compresión (por ejemplo, 7zip).

El archivo androidmanifest.xml y los recursos serán extraídos y se pueden ver mientras que el código fuente no está en el paquete - sólo el archivo compilado .dex ("Dalvik ejecutable")

+2

En la mayoría de las distribuciones de Linux, ni siquiera necesita cambiar el nombre del archivo; solo puede hacer doble clic en él y se abrirá con la utilidad de archivo de archivo apropiada (zip), ya que los archivos generalmente se identifican por su [firma] (http://en.wikipedia.org/wiki/File_format#Magic_number) en lugar de que la extensión – bmaupin

+1

Cada vez que pruebo esto, obtengo un archivo binario sin ningún contenido de aspecto útil –

8

También hay zzos. (Divulgación completa: lo escribí). Solo descompila los recursos reales, no la parte dex (baksmali, que no escribí, hace un excelente trabajo al manejar esa parte).

Zzos es mucho menos conocido que apktool, pero hay algunos APK que se manejan mejor (y viceversa, más sobre esto más adelante). En su mayoría, los APK que contienen tipos de recursos personalizados (no modificadores) no fueron manejados por apktool la última vez que los verifiqué, y son manejados por zzos. También hay algunos casos de escape que zzos maneja mejor.

En el lado negativo de las cosas, zzos (versión actual) requiere algunas herramientas de soporte para su instalación. Está escrito en perl (a diferencia de APKTool, que está escrito en Java), y usa aapt para la descompilación real. Tampoco descompila los recursos attrib aún (lo que hace APKTool).

El significado del nombre es "aapt", el compilador de recursos de Android, desplazado hacia abajo una letra.

7

Mientras descomprimir revelará los recursos, la AndroidManifest.xml serán codificados. apktool puede, entre muchas otras cosas, también decodificar este archivo.

para decodificar la aplicación App.apk en la carpeta App, ejecute

apktool decode App.apk App 

apktool no está incluido en el SDK oficial de Android, pero está disponible usando la mayoría de los repositorios de paquetes.

1

Hay una decompilador en línea para un apk android

http://www.decompileandroid.com/

Subir apk de máquina local

Espere algunos momentos

código fuente descarga en formato zip.

Descomprímelo, puede ver todos los recursos correctamente pero todos los archivos java no se decompilaron correctamente.

Por todo detalle visit this answer

0

También puede utilizar Jadx - https://github.com/skylot/jadx. He utilizado todas las herramientas mencionadas en esta página y he descubierto que Jadx funciona mejor. El archivo de manifiesto y otros archivos de clase se convierten en formato legible tanto como sea posible con esta herramienta.

PS - http://www.javadecompilers.com/apk también usa el descompilador jadx para hacer el mismo trabajo en línea. Más simple si quieres desarchivar un solo apk.

¡Salud!

3

Dependiendo de su motivo para querer extraer el APK, APK Analyzer puede ser suficiente. Le muestra directorios y tamaños de archivos. También muestra recuentos de métodos agrupados por paquete en los que puede profundizar.

APK Analyzer está integrado en Android Studio. Puede acceder a él desde el menú superior, Construir -> Analizar APK.

7

Ahora viene con Android Studio. apenas van a Construir/Analizar APK ... a continuación, seleccione el archivo APK :)

enter image description here

0
unzip my.apk 

hará el truco desde la línea de comandos de Linux.

Cuestiones relacionadas