apk tool manager

23
Compila y descompila aplicaciones con ApkTool (Windows) Bien hoy les explicare como se usa apktool, para descompilar y compilar aplicaciones en windows. En el foro hay otro tutorial para compilar y descompilar, pero con ApkManager no con ApkTool. Yo coloque este, porque algunas aplicaciones no van con ApkManager y si con este, y viceversa. Archivos necesarios: Android JDK: Descargar aquí!! ApkTool: Descargar aquí!! framework-res.apk: lo sacamos de la ROM twframework-res.apk (en caso de tener un Samsung): lo sacamos de la ROM Paciencia jaja Aclaraciones: - Cuando descarguen el jdk, deben indicar para que sistema operativo es, ademas si es para 32bits o 64bits. - Cuando vallan a descargar el apktool, necesitan descargar dos archivos, el apktool propiamente dicho (actualmente es este: apktool1.5.2.tar.bz2) y las dependencias para windows (actualmente es este: apktool-install-windows-r05- ibot.tar.bz2). Instalación de los archivos: ~ Ya una vez descargado e instalado el jdk, procedemos a descargar el apktool.. son dos archivos por descargar, los cuales encontramos 2 dentro de un .tar.gz y 1 dentro del otro .tar.gz, lo que tenemos que hacer es crear una carpeta llamada "apktool" (por ejemplo, yo la creo en

Upload: vikthor-lopez

Post on 02-Oct-2015

47 views

Category:

Documents


0 download

DESCRIPTION

Manual de como utilizar apk tool y apk manager. con sus comandos en consola.

TRANSCRIPT

Compila y descompila aplicaciones con ApkTool (Windows)

Bien hoy les explicare como se usa apktool, para descompilar y compilar aplicaciones en windows. En el foro hay otro tutorial para compilar y descompilar, pero con ApkManager no con ApkTool. Yo coloque este, porque algunas aplicaciones no van con ApkManager y si con este, y viceversa.

Archivos necesarios: Android JDK: Descargar aqu!! ApkTool: Descargar aqu!! framework-res.apk: lo sacamos de la ROM twframework-res.apk (en caso de tener un Samsung): lo sacamos de la ROM Paciencia jajaAclaraciones:- Cuando descarguen el jdk, deben indicar para que sistema operativo es, ademas si es para 32bits o 64bits.

- Cuando vallan a descargar el apktool, necesitan descargar dos archivos, el apktool propiamente dicho (actualmente es este: apktool1.5.2.tar.bz2) y las dependencias para windows (actualmente es este: apktool-install-windows-r05-ibot.tar.bz2).

Instalacin de los archivos:

~ Ya una vez descargado e instalado el jdk, procedemos a descargar el apktool.. son dos archivos por descargar, los cuales encontramos 2 dentro de un .tar.gz y 1 dentro del otro .tar.gz, lo que tenemos que hacer es crear una carpeta llamada "apktool" (por ejemplo, yo la creo en C:\sdk/apktool ya que uso la sdk de android). Y descomprimimos los dos .tar.gz con cualquier compresor de archivos, dentro de esta otra carpeta.

~ Si ya tenemos todo lo anterior, entonces podemos seguir.

Como utilizar ApkTool:

Descompilar APK:

~ Estos pasos son importantes, debes copiar las siguientes apks que estan en estas rutas: framework-res.apk -> /system/framework/ apk a descompilar (Por lo general esta aqu) /system/app, pero cualquiera vale. Si tienes un samsung tambien necesitaras twframework-res.apk que esta en /system/framework

~ Presionamos la tecla Windows o simple vamos a Inicio y escribimos:cmdY le damos enter.

Esto nos abrira una consola como esta:

~ Ya ahora tenemos que acceder a la carpeta donde esta el ApkTool, asi:cd C:\sdk/apktool

~ Ahora el codigo para descompilar:

~ Primero necesitamos instalar el framework-res.apk, as:apktool if framework-res.apkEn caso de tener Samsung, abre el "spoiler":

apktool d nombre_de_la_aplicacion.apkCosas a tener en cuenta con este codigo: La aplicacion no puede contener espacios en su nombre si por error se olvidan del poner el ".apk" les saldra error

~ Ya esto nos creara una carpeta con el mismo nombre de la apk en el mismo directorio, en el caso del codigo anterior, me creara dentro de la carpeta apktool una carpeta con el nombre de nombre_de_la_aplicacion. Bien, dentro encontraran todas las carpetas de la apk, quizs en otro tutorial, expliquemos que funcin cumple cada una de ellas.

Compilar APK:

El proceso de compilado es mas corto, as que reljate XD

~ Ya supongo que has modificado todo lo que necesitabas, bien ahora es momento de compilar:

~ Colocamos este codigo:apktool b nombre_de_la_aplicacionCosas a tener en cuenta con este codigo: El nombre es el nombre de la carpeta que nos creo al descompilarla Si por error ponen la extension ".apk" les saldra error, la carpeta no tiene extensin, no deben ponerle.

Bien, cuando ya compile y revisando de no tener errores, entonces encontraremos la aplicacin compilada dentro de: nombre_de_la_aplicacion/dist y dentro de nombre_de_la_aplicacion/build encontraran la apk pero sin empaquetarse como .apk, o sea, es lo mismo que contiene la apk pero "desempaquetado". Hablando mal y pronto seria como abrir la apk con "winrar" o algn otro compresor y darle a extraer.

Bien, ya tenemos la apk, descompilada, modificada y compilada. Ahora tenemos que firmarlas, para esto hay varios metodos, los explicare en el segundo comentario luego, que me va a llevar un buen tiempo jeje

Qu es el Apk Manager?Se podra denominar como un compendio de programas unificados en una nica herramienta para facilitar la labor de gestin, edicin, modificacin, firmado e instalacin de apk. Esta versin de Apk Managerusa como base los siguinetes programas: Apktool v1.3.2, 7za v4.6.5, Ropting v0.6.3, Sox v14.3.1 y Android Asset Packaging Tool v0.2Si habis probado el manual que pusimos en el post donde os ensenbamos a incluir un idioma extra a una apk, habris comprobado vosotros mismos cuan tediosa puede llegar a ser la labor de decompilado y compilado de una aplicacin sin ni siquiera tener que modificar las png, comprimir sus ogg o simplemente firmarla. Apk Manager nos ofrece la posibilidad de compilar, firmar e instalar una apk en tan solo un nico paso.CaractersticasEstas son alguna de las caractersticas ms relevantes de la aplicacin: Extraccin o decompilado de una Apk o un Zip. Optimizacin de imgenes png para aligerar su peso. Firma de Apks. Optimizacin por paquete de Zip, png y/o ambas. Optimizacin de audio Ogg. Posibilidad de seleccin del nivel de compresin. Instalacin automtica por comandos de apks. Creacin automtica del fichero log.txt donde quedan registradas las actividades y los posibles errores. Aadida la posibilidad de indexar otros framework-res para soporte de Custom ROM y sus dependencias con libreras.Modo de usoAntes de nada, voy a explicaros el uso que tienen las carpetas que nos encontramos dentro de la aplicacin: other: aqu se encuentran los programas que ejecutan las diferentes opciones. place-apk-here-for-modding: aqu colocamos las apks que queremos modificar. place-apk-here-for-signing: aqu colocamos las apks que queremos firmar. place-apk-here-for-optimize: aqu colocamos las apks que queremos optimizar sus pngs. place-ogg-here: aqu colocamos los ogg que queremos optimizar. projects: aqu se pondrn automticamente las apks modificadas. log.txt: archivo de texto que ir guardando los registros y errores de las actividades. Script.bat: archivo por lotes encargado de ejecutar la aplicacinLo primero que veremos cuando ejecutemos el archivo Script.bat es una pantalla donde se muestran las 24 opciones de que consta la aplicacin y que paso a detallar a continuacin: 0 Adb pull: Esta opcin extrae una apk de un zip para poder modificarla. 1 Extract apk: Esta opcin descomprime una apk para poder editar, por ejemplo, sus png. 2 Optimize images inside: Mediante esta opcin podremos reducir el peso notablemente de las imgenes png que hayamos modificado. 3 Zip apk: Opcin mediante la cual monta una apk, tanto de sistema como normal. 4 Sign apk (Dont do this if its a system apk): Para poder instalar una apk ha de estar firmada, con esta opcin hacemos esto mismo, validar su instalacin. 5 Zipalign apk (Do once apk is created/signed): Esta opcin mejora el uso de memoria utilizado por el terminal para ejecutar la apk. 6 Install apk (Dont do this if system apk, do adb push): Su uso es simplemente para instalar la apk en el terminal que se tenga conectado al PC. 7 Zip / Sign / Install apk (All in one step): Comprime, Firma e Instala una apk mediante una nica opcin seleccionada. 8 Adb push (Only for system apk): Gracias a esta opcin podremos copiar una apk de sistema directamente en el terminal. 9 Decompile apk: Esta opcin es la que nos posibilita ver todos los idiomas que contiene la apk para poder modificarlos, editarlos, eliminar o incluir uno deseado. Adems hace visibles las marcas que tienen los *.9.png de modo que podremos editarlas sin temor a modificar dichas marcas y que nos de error al compilar. 10 Decompile apk (with dependencies) (For propietary rom apks): Con esta opcin tendremos la posibilidad de decompilar las aplicaciones propias de la compaa (por ejemplo HTC) que tienen dependencias con otras apk. 11 Compile apk: Esta opcin la usaremos para volver a montar la apk correctamente y no tener problemas con las imgenes *.9.png 12 Sign apk: Gracias a esta opcin firmaremos las apk que queramos instalar en nuestro terminal. 13 Install apk: Esta opcin instalar nuestra apk seleccionada en el terminal que tengamos conectado al PC. 14 Compile apk / Sign apk / Install apk (Non System Apps Only): Compila, Firma e Instala una aplicacin mediante una nica opcin seleccionada. 15 Batch Optimize Apk (inside place-apk-here-to-batch-optimize only): Esta opcin Optimiza la memoria (zipalign), las imgenes o ambas de todas las apks que hayamos puesto la carpeta correspondiente. 16 Sign an apk(Batch support)(inside place-apk-here-for-signing folder only): Mediante esta opcin podremos firmar todas las apk que tengamos metidas en la carpeta correspondiente. 17 Batch optimize ogg files (inside place-ogg-here only): Con esta opcin podremos optimizar los archivos de audio con formato ogg 18 Clean Files/Folders: Esta opcin nos permitir borrar el contenido de cada una de las carpetas del programa (o todas) para tener limpio el programa para una nueva edicin. 19 Select compression level for apks: Mediante esta opcin seleccionaremos el nivel de compresin de las apk para aligerar el peso total de un zip o simplemente de la apk que queremos. 20 Set Max Memory Size (Only use if getting stuck at decompiling/compiling): Esta opcin nos permite seleccionar el tamao de memoria que la aplicacin usar para decompilar una apk. Usar solo si el programa no decompila/compila. El valor ideal para ello se recomienda que sea un valor de 512. 21 Read Log: Esta opcin nos muestra el registro que se ha ido generando y grabando en este fichero. Es una muy buena herramienta para corregir errores ya que nos indica exactamente que es lo que ha fallado. 22 Set current project: Esta opcin nos mostar las apks que tenemos en la carpeta place-apk-here-for-modding para seleccionar cual queremos editar. 23 About / Tips / Debug Section: Opcin que nos muestra informacin extra a tener en cuenta para el uso del programa. 24 Quit: Sirve para salir de la aplicacin

Compila y descompila aplicaciones con ApkTool (Windows)

Bien hoy les explicare como se usa apktool, para descompilar y compilar aplicaciones en windows. En el foro hay otro tutorial para compilar y descompilar, pero con ApkManager no con ApkTool. Yo coloque este, porque algunas aplicaciones no van con ApkManager y si con este, y viceversa.

Archivos necesarios: Android JDK: Descargar aqu!! ApkTool: Descargar aqu!! framework-res.apk: lo sacamos de la ROM twframework-res.apk (en caso de tener un Samsung): lo sacamos de la ROM Archivos para firmar: los he subido yo, lo pueden descargar aqu!!! Paciencia jaja

Aclaraciones:- Cuando descarguen el jdk, deben indicar para que sistema operativo es, ademas si es para 32bits o 64bits.

- Cuando vallan a descargar el apktool, necesitan descargar dos archivos, el apktool propiamente dicho (actualmente es este: apktool1.5.2.tar.bz2) y las dependencias para windows (actualmente es este: apktool-install-windows-r05-ibot.tar.bz2).

Instalacin de los archivos:

~ Ya una vez descargado e instalado el jdk, procedemos a descargar el apktool.. son dos archivos por descargar, los cuales encontramos 2 dentro de un .tar.gz y 1 dentro del otro .tar.gz, lo que tenemos que hacer es crear una carpeta llamada "apktool" (por ejemplo, yo la creo en C:\sdk/apktool ya que uso la sdk de android). Y descomprimimos los dos .tar.gz con cualquier compresor de archivos, dentro de esta otra carpeta.

~ La firma la podemos descomprimir y copiar los archivos junto con el apktool o en una carpeta aparte, como quieran.

~ Si ya tenemos todo lo anterior, entonces podemos seguir.

Como utilizar ApkTool:

Descompilar APK:

~ Estos pasos son importantes, debes copiar las siguientes apks que estan en estas rutas:

framework-res.apk -> /system/framework/ apk a descompilar (Por lo general esta aqu) /system/app, pero cualquiera vale. Si tienes un samsung tambien necesitaras twframework-res.apk que esta en /system/framework

~ Presionamos la tecla Windows o simple vamos a Inicio y escribimos:

Cdigo:cmd

Y le damos enter.

Esto nos abrira una consola como esta:

Haz click aqu para ver la imagen a tamao completo

~ Ya ahora tenemos que acceder a la carpeta donde esta el ApkTool, asi:

Cdigo:cd C:\sdk/apktool

Haz click aqu para ver la imagen a tamao completo

~ Ahora el codigo para descompilar:

~ Primero necesitamos instalar el framework-res.apk, as:

Cdigo:apktool if framework-res.apk

En caso de tener Samsung, abre el "spoiler":Spoiler :

Cdigo:apktool d nombre_de_la_aplicacion.apk

Cosas a tener en cuenta con este codigo: La aplicacion no puede contener espacios en su nombre si por error se olvidan del poner el ".apk" les saldra error

~ Ya esto nos creara una carpeta con el mismo nombre de la apk en el mismo directorio, en el caso del codigo anterior, me creara dentro de la carpeta apktool una carpeta con el nombre de nombre_de_la_aplicacion. Bien, dentro encontraran todas las carpetas de la apk, quizs en otro tutorial, expliquemos que funcin cumple cada una de ellas.

Compilar APK:

El proceso de compilado es mas corto, as que reljate XD

~ Ya supongo que has modificado todo lo que necesitabas, bien ahora es momento de compilar:

~ Colocamos este codigo:

Cdigo:apktool b nombre_de_la_aplicacion

Cosas a tener en cuenta con este codigo: El nombre es el nombre de la carpeta que nos creo al descompilarla Si por error ponen la extension ".apk" les saldra error, la carpeta no tiene extensin, no deben ponerle.

Bien, cuando ya compile y revisando de no tener errores, entonces encontraremos la aplicacin compilada dentro de: nombre_de_la_aplicacion/dist y dentro de nombre_de_la_aplicacion/build encontraran la apk pero sin empaquetarse como .apk, o sea, es lo mismo que contiene la apk pero "desempaquetado". Hablando mal y pronto seria como abrir la apk con "winrar" o algn otro compresor y darle a extraer.

Bien, ya tenemos la apk, descompilada, modificada y compilada. Ahora tenemos que firmarlas, para esto hay varios metodos, explicare uno de ellos.

Firmar el apk:

Suponiendo que copiaron los archivos de la firma en la misma carpeta del apktool entonces para firmar necesitamos hacer esto:

Vamos a la carpeta que nos creo el apktool al descompilar la aplicacin, por ejemplo si es Settings.apk vamos a la carpeta Settings, luego a dist y aqu encontraremos el apk editado pero sin firmar, lo copiamos y volvemos a la carpeta apktool y lo pegamos.

Ahora si, volvemos a la consola y cargamos el siguiente cdigo:Cdigo:java -jar SignApk.jar testkey.x509.pem testkey.pk8 aplicacion.apk signed_aplicacion.apk

Este codigo nos toma la aplicacion.apk (sin firmar), la firma y la guarda con el nombre de signed_aplicacion.apk en la misma ruta. Eso es todo, ya tendremos la aplicacin para poder instalar en nuestro terminal pero si se quiere mejor rendimiento entonces seguir con el paso siguiente.

ZipAlign apk:

Esto es para optimizar el funcionamiento de la aplicacin, siempre es recomendable hacerlo, aumenta el rendimiento de la aplicacin evitando consumir mas RAM o recursos del sistema.

Si tienen instalado el SDK de android pueden encontrarlo en sdk/tools/ si no lo tienen instalado aqu les dejo el archivo necesario para llevar a cabo el zipalign: Descargar aqu!!

Descompriman la carpeta y si quieren pueden copiarlo dentro de la carpeta apktool tambin, as tenemos todo en un mismo lugar.

Para aplicar el zipalign solo basta con colocar este cdigo:Cdigo:zipalign -v 4 signed_aplicacion.apk zipalign_aplicacion.apk

Es decir:signed_aplicacion.apk es la apk firmada.zipalign_aplicacion.apk es el nombre que le daremos a la aplicacin definitiva.

Bien si nos dice Verification Succesful quiere decir que salio todo bien.

Ahora para comprobarlo lo hacemos con este cdigo:Cdigo:zipalign -c -v 4 zipalign_aplicacion.apkBien si nos dice Verification Succesful quiere decir que salio todo bien.

Ahora si, tenemos nuestra aplicacin, editada, compilada, firmada y con zipalign. Ya esta completa.

Hola amigos este es mi primer post,espero que les guste y se aceptan criticas constructivasBueno ahora con todo esto de compilar, decompilar,firmar en el mundo de android, en algunos casos se tornaba dificil entonces queria traerles un pequeo tutorial sobre la compilacion y decompilacion de aplicaciones de android(apks) en realidad es algo muy sencillo y estas son las herramientas que necesitamos.

Herramientas1) Una computadora2) El JDK de java3) Apktool (adjunto zip)4) El framework-res.apk de la room que queramos editar sus apps5) 7-zip

Empecemos! primero debemos extraer el zip en una carpeta de preferencia en mi caso yo utilizare

C:/android/apktool

Una vez extraido en la carpeta escogida presionamos shif+click derecho y nos aparecera una opcion llamada "abrir ventana de comandos aqui"

luego prodeceremos a instalar el framework-res.apk de nuestra room, para eso escribimos en la ventana de comandos

apktool if framework-res.apk

y nos saldra esto

Nota: si tenemos una room sense(dispositivos HTC) o una touchwiz(dispositivos Samsung) debemos instalar su framework personalizado para eso escribimos en la ventana lo siguiente(despues de haber instalado el framework-res.apk)HTC

apktool if com.htc.resources.apk

y nos saldra un texto parecido al anterior

Framework installed to: C:/Users/Vega/apktool/framework/2.apkSamsung

apktool if twframework-res.apk

y nos saldra un texto parecido al anterior

Framework installed to: C:/Users/Vega/apktool/framework/2.apk

listo ahora a decompilar!

para eso escribimos

apktool d NombreDelaApp.apk

y nos creara una carpeta, cuando terminemos de editar lo que queramos debemos compilarla y para eso escribimos en la ventana de comandos

apktool b NombreDelaApp NombreDelaApp-new.apk

listo ya tenemos nuestra apk, si por alguna razon tuvimos algun error mientras la editamos(la app), ya sea un error en los XMLs o cualquier otro la herramienta nos dira y nos mostrara donde esta situado el error. por ejemplo digamos que me equivoque colocando un "Id" en el public.xml entonces me aparecera esto

me dice que tengo un error en

C:/android/apktool/identi/res/values/public.xml:5698: error: Given 'id' attribute is not an integer: 0037c

eso se traduce a que dentro de la carpeta "res" en la carpeta "values" el archivo "public.xml" en la linea 5698 tiene un error. no se le asigno un "id" correcto.

ya compilado correctamente nuestra apk la renombraremos y vamos a firmarla porque si no la app no funcionaria correctamente, para eso necesitaremos nuestra app original.con el 7-zip abrimos nuestra apk original y arrastraremos la carpeta "Meta-inf" a la apk editada

y listo ya tenemos lista nuestra apk. - See more at: http://www.identi.li/index.php?topic=208895#sthash.uIfm8kto.dpuf