Cómo descomprimir los APK y el tema de Android

¿Alguna vez ha abierto una aplicación de Android y no le gustó el tema de color que usaba? ¿Qué pasaría si quisieras cambiar un fondo blanco en una aplicación a negro, por ejemplo? Hoy te mostraré cómo descomprimir un archivo .APK para que puedas editar los archivos que contiene, luego remodelarlos e instalarlos en tu teléfono Android.

Nota: Algunas aplicaciones son más difíciles de aplicar temáticas que otras. Es muy difícil crear un tema en Facebook Messenger, por ejemplo. Lo guiaré a través de esta guía usando la aplicación de Dropbox como ejemplo, ya que es una de las más fáciles de editar.

Requisitos

  1. Bloc de notas ++
  2. Última APKTool + AAPT
  3. Herramienta APKMulti Script
  4. Editor de fotos como Photoshop / GIMP
  5. [Optional] Dropbox .apk (seguir esta guía)

Descargue todas las herramientas necesarias e instálelas en su computadora, incluido el test.apk proporcionado anteriormente. Dropbox es una de las aplicaciones temáticas más sencillas, por lo que la usaremos para este tutorial.

También debe transferir framework-res.apk desde su teléfono a su computadora, se encuentra en / system / framework / en su almacenamiento interno.

Presione APKTool y AAPT dentro de la carpeta «Otro» dentro del directorio principal de APK Multi-Tool.

Arrastra test.apk a la carpeta «Place-apk-here-for-modding» dentro del directorio de Multi-Tools APK, y serás recibido con un terminal de comando.

Presione cualquier tecla para continuar y verá un menú de terminal con un puñado de opciones. Seleccione la opción 24.

Volverá a la pantalla principal del terminal, pero «test.app» es su proyecto. Entonces presione 9 para descomprimir el apk, y luego presione 12 para realizar una prueba. Esta es una buena práctica para ver si se ha configurado algo incorrecto. Si la aplicación se compila correctamente, presione 2 y minimice la secuencia de comandos visible.

Desde que verificamos la compilación de la prueba, profundicemos en la edición del código XML del apk. Siga atentamente.

Dentro de la carpeta .apk extraída, vaya a la carpeta «res» y abra «AndroidManifest.xml» con Notepad ++. Ahora presione CTRL + F para obtener la siguiente cadena:

android: fondo

Utilice la opción «Buscar todo» y debería encontrar alrededor de 190 cadenas. Entonces, ahora debe revisar todos los cables resaltados para asegurarse de que no se pierda ninguno cuando cambiemos el color de fondo de la aplicación.

Desplácese hasta encontrar «Camera_upload_grid.xml» que contiene la cadena «android: background =» @ * android: color / white «. Copie toda esa cadena y presione CTRL + H para abrir el cuadro de diálogo «Reemplazar». Pegue la cuerda en las líneas superior e inferior, pero tendremos que cambiarla.

Dentro de la carpeta .apk descomprimida, ingrese /res/values/colors.xml y ábralo en Notepad ++. Busque la línea «abs__background_holo_dark», que definitivamente es un fondo. Así que ahora copie esa cadena y vuelva al primer archivo XML que abrimos, con el cuadro Reemplazar aún abierto, y en la línea inferior pegue la cadena que acaba de copiar. Así que ahora debería tener en la parte inferior del diálogo Representante:

android: background = ”@ color / abs__background_holo_dark

Ahora presiona «Reemplazar todo», y cambiará todos los @android: color / white’s para usar background_holo_dark en su lugar. Ahora siga desplazándose por todo el .xml, buscando cualquier android: cadenas de fondo que usen un valor hexadecimal (#fffffff) o cualquier otra cosa que no sea lo que no reemplazamos. Para los que encuentre, cambie las cadenas para usar la nueva (abs__background_holo_dark).

Así que cambiamos el fondo, ahora vamos a cambiar el color del texto. Así que sigue el mismo procedimiento que acabamos de hacer, pero esta vez haz CTRL + F para «android: textColor». Encontrará unas 166 líneas disponibles.

Verá cosas como «android: textColor =» # ffbbbbbb «, etc. Así que mire dentro de Colors.xml nuevamente y necesitamos averiguar qué líneas cambiar para el color del texto.

Puede ver android: textColor = «# ffbbbbbb», «#ffffffff», «# ff717171» y «#ffcccccc» en la imagen y en los resultados de búsqueda en Note ++. Abra su Colors.xml nuevamente ahora para encontrar qué línea queremos usar para el color del texto.

Así que regrese al primer .xml y haga CTRL + H para el cuadro de diálogo Reemplazar nuevamente. Ahora copie la cadena «android: textColor =» # ffbbbbbb «en la parte superior e inferior, y cambie la línea de base a» android: textColor = «@ color / text».

Ahora nuevamente, busque en todas las líneas de Android: textColor y cambie cualquier cosa que tenga un valor hexadecimal en la cadena. Finalmente, cuando llegue al archivo style.xml, querrá eliminar el inverso de algunas líneas, comenzando en la línea 260 y bajando unas pocas líneas. Así que elimine el «inverso» de esas cadenas.

Luego verá algunos valores hexadecimales alrededor de las líneas 527, 536, 573, 579, 585, 601 y algunas otras cosas. Agregar ubicación desde ( # ffffffff ) para ( @ color / texto ).

Presione CTRL + F para buscar en Notepad ++ para cacheColorHint, divisor, @ * android: color /, y Inverso.

CacheColorHint es el fondo de desplazamiento, por lo que debemos asegurarnos de que estén usando nuestro color de fondo. Los divisores se explican por sí mismos y podemos cambiar sus valores hexadecimales si lo desea. Lo único es que no tienes que tocar nada que apunte a @drawable. Suelen ser imágenes que se almacenan como archivos .png en otro lugar de la carpeta .apk.

Buscando «inverso «, mostrará referencias a textAppearanceInverse. Debe hacer doble clic en cada uno de estos y eliminar el inverso de esas cadenas.

Finalmente, la búsqueda en @ * android: color / solo verificará dos veces si nos perdimos alguna edición del marco. Si encuentra algo que diga “android: popupBackground”> @ * android: color / white ”, debe cambiarlo a“ android: popupBackground ”> @ color / abs__background_holo_dark”. Esto incluye la línea 911, que puede resultar confusa porque ya apunta a android: color / black.

Luego abriremos res / values ​​/ colors.xml y lo cambiaremos para que se vea así:

A continuación, res / values ​​/ style.xml y desplácese hacia abajo hasta la línea 328. Cámbielo así:

Debería (