Cómo tematizar manualmente la interfaz de usuario del sistema Android

y otras preguntas similares relacionadas con la interfaz de usuario de Android. Algunas marcas permiten esto a través de tiendas de temas, pero el kilometraje puede variar en cuanto a qué temas exactamente pueden cambiar.



Sin embargo, todo esto se reduce a SystemUI.apk - y le mostraré paso a paso cómo editar los recursos dentro de este .apk para personalizar la interfaz de usuario de Android a su gusto. Tenga en cuenta que esta guía es principalmente para ROM basadas en AOSP, y las referencias a archivos dentro de SystemUI.apk pueden ser diferentes de lo que tiene, según el fabricante de su teléfono. Pero si ese es el caso, aún puede lograr lo que estamos haciendo, con un poco de prueba y error.

Debido a que esta guía gira en torno a la edición de archivos del sistema Android y la personalización de su ROM, también debería consultar las siguientes guías de Appual:



Requisitos:

  • Un dispositivo rooteado ( buscar Appual's para Guías de root de Android )
  • Herramientas ADB y Fastboot ( ver la guía de Appual Cómo instalar ADB en Windows )
  • SDK de Java
  • APKTool o APKMultiTool
  • Bloc de notas ++ ( u otro editor de texto compatible con códigos para editar líneas XML y Smali )
  • Software de edición de imágenes como GIMP o Photoshop
  • 7-Zip o Winrar

Nota: Para esta guía, usaré APKTool como referencia; si eligió APKMultiTool, la configuración inicial y el proceso de descompilación / recompilación pueden ser diferentes, pero en general los pasos son los mismos.



  Además, es posible que desee considerar instalar la ROM de su dispositivo en un emulador de Android en su computadora, para que pueda probar y obtener una vista previa de los cambios de SystemUI antes de cargarlos en su dispositivo.



Configuración de APKTool para Windows

  1. Descarga Windows script de envoltura (Clic derecho, Guardar enlace como apktool.bat)
  2. Descargar apktool-2 ( encontrar el más nuevo aquí )
  3. Cambiar el nombre del jar descargado a apktool.jar
  4. Mueva ambos archivos (apktool.jar y apktool.bat) a su directorio de Windows (generalmente C: // Windows)
  5. Si no tiene acceso a C: // Windows, puede colocar los dos archivos en cualquier lugar y luego agregar ese directorio a la variable PATH del sistema de variables de entorno.
  6. Intente ejecutar apktool a través del símbolo del sistema

Configuración de APKTool para Linux

  1. Descarga Linux script de envoltura (Haga clic derecho, Guardar enlace como apktool)
  2. Descargar apktool-2 ( encontrar el más nuevo aquí )
  3. Cambiar el nombre del jar descargado a apktool.jar
  4. Mueva ambos archivos (apktool.jar y apktool) a / usr / local / bin (se necesita root)
  5. Asegúrese de que ambos archivos sean ejecutables (chmod + x)
  6. Intente ejecutar apktool a través de cli

Configuración de APKTool para Mac OS X

  1. Descarga Mac script de envoltura (Haga clic derecho, Guardar enlace como apktool)
  2. Descargar apktool-2 ( encontrar el más nuevo aquí )
  3. Cambiar el nombre del jar descargado a apktool.jar
  4. Mueva ambos archivos (apktool.jar y apktool) a / usr / local / bin (se necesita root)
  5. Asegúrese de que ambos archivos sean ejecutables (chmod + x)
  6. Intente ejecutar apktool a través de cli

Descompilación de SystemUI.Apk con APKTool

  1. Después de instalar APKTool, necesitamos extraer su archivo de marco de su dispositivo a través de ADB. los AOSP genérico El archivo de marco se llama ' framework-res.apk ’ encontrado en / system / framework ruta en su dispositivo, pero la mayoría de los fabricantes incluyen sus propios archivos de marco además del marco AOSP.
  2. Esto puede ser complicado porque necesitará averiguar que el fabricante nombró el archivo de recursos del marco en su dispositivo. Normalmente se encontrarán en / system / framework , pero a veces se pueden ocultar en / data / system-framework o / system / priv-app . Los archivos en sí suelen tener ' recursos ' , ‘res’ , o ' marco de referencia' en los nombres de archivo.
  3. Una vez que haya localizado su archivo de marco, tire de él junto con su SystemUI.apk a través de la consola ADB. Harías esto con el comando:
  4. adb pull /system/framework/framework-res.apk (cambie la ruta si es necesario y haga el mismo comando para SystemUI.apk)
  5.   Encontrarás los archivos extraídos en la carpeta principal de instalación de ADB en tu computadora.
  6. Ahora los vamos a instalar en APKTool. Entonces, en un símbolo del sistema, escriba:
  7. Apktool si así por ejemplo apktool si C: ADB framework-res.apk
  8. Repita lo anterior para SystemUI.apk
  9. Ahora vamos a descompilar SystemUI.apk, así que escribe en la ventana de comandos: apktool d SystemUI.apk
  10.   Esto extraerá todo el SystemUI.apk en una serie de carpetas.

Edición de iconos y colores de la interfaz de usuario

Así que ahora necesita averiguar el DPI de su teléfono, porque tendrá carpetas como SystemUI / res / drawable-hdpi, SystemUI / res / xhdpi , etc. Así es como funciona:



  • ldpi (bajo) ~ 120 ppp
  • mdpi (medio) ~ 160 ppp
  • hdpi (alto) ~ 240 ppp
  • xhdpi (extra alto) ~ 320 ppp
  • xxhdpi (extra extra alto) ~ 480 ppp
  • xxxhdpi (extra-extra-extra-alto) ~ 640 ppp

Por lo tanto, para editar los recursos de SystemUI, deberá averiguar en qué categoría se encuentra su pantalla.

Dentro de la carpeta, verá prácticamente todos los archivos .png utilizados para la interfaz de usuario de su sistema: todo, desde los iconos de la barra de notificaciones, los iconos del panel de configuración rápida, etc. Los nombres de archivo reales pueden variar según el fabricante, pero AOSP- Las ROM basadas normalmente deben tener archivos con el siguiente nombre:

  • Notification_panel_bg.9 ( el fondo de la barra de estado)
  • ic_qs _ ####. png ( iconos del panel de configuración rápida)
  • stat_syst _ ####. png ( iconos de la barra de estado)

Pero es posible que su fabricante no siga esas convenciones de nomenclatura, por lo que solo tendrá que mirar los .png de cerca para averiguar exactamente para qué sirven.

Importante: si se encuentra con archivos .9.png, no intente editarlos directamente en GIMP o Photoshop sin un tutorial primero. Estos son archivos 9Patch .png que tienen bordes visibles al editar las imágenes, pero estos bordes se vuelven invisibles en la interfaz de usuario de Android mediante una técnica especial ( demasiado tiempo para explicar), y hay un método especial para manipularlos. Deberías usar el Dibujar herramienta de 9 parches desde Android Studio, o aprenda a editar / crear correctamente imágenes de 9Patch en Photoshop / GIMP.

  Para editar el color de fondo real del propio panel de configuración rápida, deberá abrir /res/values/colors.xml y edite las líneas en consecuencia. En realidad, las líneas deberían estar comentadas con explicaciones o al menos con convenciones de nomenclatura bastante fáciles de entender. Es por eso que recomendé usar un emulador de Android, para obtener una vista previa y ajustar a medida que avanza.

Editar colores de texto

  Compruebe en /res/layout/tw_statusbar.xml para estas líneas:

Color del texto del icono de batería ( si su batería se muestra como un porcentaje de texto)

Color del texto del reloj:

Compruebe en /res/layout/tw_status_bar_expanded_header.xml para estas líneas:

Color del reloj desplegable

Color de la fecha

'@ Style / TextAppearance.StatusBar.Expanded.Date' android: textColor = '# algo'

Hay tantas cosas para personalizar en SystemUI, no puedo explicar cada detalle en esta guía; puede encontrar una guía de temas de SystemUI que explique todas y cada una de las líneas en los archivos .XML, pero estará bien si solo hace Obtenga una vista previa de sus cambios en un emulador de Android y ajústelos a medida que avanza.

Recompilación e instalación de su SystemUI.Apk modificado

  1.   En una ventana de comando, escriba: apktool b SystemUI
  2.   Esto creará una nueva carpeta .apk en un Dist carpeta en el directorio APK descompilado. Así que mira adentro / systemUI / dist para el nuevo archivo SystemUI.apk.
  3. Ahora necesita usar algo como 7-Zip para copiar y reemplazar la carpeta META-INF y AndroidManifest.XML del APK original en el nuevo APK, luego vuelva a compilar.
  4. Ahora puede actualizar el nuevo SystemUI.apk en su dispositivo.

¡Feliz modding!

5 minutos de lectura