Cómo usar un GIF como tecla de inicio de la barra de navegación de Android

  • Cómo descompilar y aplicar temas a los APK de Android
  • Cómo Desodexar sus APK en ROM de Stock
  • Requisitos:

    • Un teléfono Android rooteado (¡Appuals tiene muchas guías de raíz de Android!)
    • Una herramienta de descompilación de APK ( nosotros recomendamos APK Easy Tool )
    • Un buen editor de código como Bloc de notas ++

    Descompilando su SystemUI.apk

    Lo primero que debe hacer es desodexar su SystemUI.apk; puede usar una herramienta como Tickle My Android para esto. Lea la guía de Appuals para desodexar APK en este proceso.



    El siguiente paso es descompilar SystemUI.apk, que requiere una guía por sí solo si nunca lo ha hecho antes; afortunadamente, Appuals ha ' Cómo aplicar un tema manualmente a la interfaz de usuario del sistema Android 'Con instrucciones de descompilación, así que dale una lectura si nunca antes has descompilado un APK.

    Añadiendo la Archivos SMALI

    Ahora necesita agregar nuevos archivos .smali; hay un paquete de archivos .smali ya modificados para exactamente lo que necesitamos hacer disponible. AQUÍ . Específicamente, debe extraer el archivo 'SelfAnimatingImageView.smali' del .zip y agregarlo a su APK descompilado en el directorio:



    SystemUI.apk  smali  com  android  morningstar 

    Deberá crear estas carpetas si no existen.



    Dividir un GIF en marcos

    Ahora necesitas encontrar un .gif animado que te guste y quieras usar como botón de inicio de la barra de navegación. Deberías usar un etiqueta engomada gif, como puedes encontrar en Giphy.com/stickers - notará que tienen fondos transparentes como PNG, pero en realidad son GIF.



    Una vez que guarde un GIF de etiqueta que le gusta, debe convertirlo a una serie de PNG. Esto se debe a que nuestra SystemUI modificada en realidad no ejecutará un archivo .gif nativo, sino que reproducirá PNG en orden secuencial. Así que necesitamos dividir el .gif en PNG secuenciales, afortunadamente podemos hacerlo muy fácilmente con un convertidor en línea como División EZGIF .

    Simplemente cargue su GIF en la herramienta EZGIF Split, elija “Salida de imágenes en formato PNG” del menú desplegable Opciones de división y extraerá todos los fotogramas en orden secuencial. Luego, puede descargar los marcos juntos en un archivo ZIP.



    Ahora debe agregar los marcos PNG del GIF dividido a su ' dibujable-xxxDPI ”En la carpeta apk SystemUI descompilada. La carpeta que utilizará depende del DPI de su dispositivo, por lo que:

    • MDPI = ~160 DPI
    • HDPI = ~240 DPI
    • XHDPI = ~320 DPI
    • XXHDPI = ~480 DPI
    • XXXHDPI = ~640 DPI

    Ahora necesitamos un archivo XML que le indique a Android qué imágenes usar para la animación y qué tan rápido recorrerlas. Regrese al ZIP que descargó anteriormente y tome el 'frame_anim.xml', y cópielo en su carpeta 'res drawable' dentro del APK descompilado.

    Si abre frame_anim.xml en Notepad ++, debería verse así:

     

    Cada línea que comienza con

    Y finalmente, antes de que podamos volver a compilar el SystemUI.apk, debemos poner nuestra animación en la barra de navegación. Esto es un poco complicado, ya que editaremos el archivo XML de diseño. En la mayoría de las ROM estándar, el código que controla la tecla programable de la barra de navegación INICIO se puede encontrar en 'layout navigation_bar.xml', pero también se puede encontrar en 'layout home.xml'. Necesita buscar esto, dependiendo de su ROM.

    Básicamente, está buscando cualquier archivo XML de diseño que contenga el código que tiene este aspecto:

    android: id = '@ id / home_button' android: layout_width = '0.0dip' android: layout_height = '0.0dip' android: scaleType = 'center' android: contentDescription = '@ string / accessibility_home' systemui: keyCode = '3' />

    Sabrá que está en el archivo XML correcto cuando vea líneas que hacen referencia al botón de inicio o similar. Lo que tenemos que hacer es esconder esta tecla INICIO, y coloque una nueva en su lugar que será del mismo tamaño, pero invisible, y luego nuestros cuadros animados irán debajo de ella. En realidad, esto es bastante fácil, todo lo que necesitamos es un FrameLayout código .

     

    Si examina este código, verá cómo tenemos tres cosas diferentes apiladas una encima de la otra. Pero cuando la aplicación se está ejecutando, no la verá; todo lo que verá es su GIF animado donde debe estar la tecla INICIO en la barra de navegación.

    Entonces, todo lo que necesita hacer es reemplazar la línea de código de la tecla programable INICIO con el código FrameLayout anterior, pero es posible que deba modificarlo para su ROM particular. Aquí es necesario un poco de prueba y error.

    Recompilación el APK y flashearlo

    Ahora estamos listos para volver a compilar el APK modificado. Simplemente use la APK Easy Tool para recompilar SystemUI.apk y flashearlo en modo de recuperación en su dispositivo. Es importante hacer esto en el modo de recuperación, porque necesita borrar la caché de Dalvik o, de lo contrario, los nuevos archivos pequeños que agregamos no se activarán.

    Si todo va bien, debería ver su GIF animado como su nueva tecla de inicio de la barra de navegación.

    4 minutos de lectura