Como usar um GIF como sua tecla Home Navbar Android

  • Como descompilar e criar temas para APKs Android
  • Como desodexar seus APKs em ROMs de estoque
  • Requisitos:

    • Um telefone Android com root (Appuals tem muitos guias de raiz Android!)
    • Uma ferramenta de descompilação de APK ( nós recomendamos APK Easy Tool )
    • Um bom editor de código como Notepad ++

    Descompilar seu SystemUI.apk

    A primeira coisa que você precisa fazer é desodexar seu SystemUI.apk - você pode usar uma ferramenta como Tickle My Android para isso. Leia o guia Appuals para desodexar APKs neste processo.



    A próxima etapa é descompilar o SystemUI.apk, que requer um guia próprio se você nunca fez isso antes - felizmente, Appuals tem “ Como tema manualmente a IU do sistema Android ”Com instruções de descompilação, então dê uma leitura se você nunca descompilou um APK antes.

    Adicionando a Arquivos SMALI

    Agora você precisa adicionar novos arquivos smali - há um pacote de arquivos .smali já modificados para exatamente o que precisamos fazer disponível AQUI . Especificamente, você precisa extrair o arquivo “SelfAnimatingImageView.smali” do .zip e adicioná-lo ao seu APK descompilado no diretório:



    SystemUI.apk  smali  com  android  morningstar 

    Você precisará criar essas pastas se elas não existirem.



    Dividindo um GIF em quadros

    Agora você precisa encontrar um .gif animado que goste e queira usar como o botão inicial da barra de navegação. Você deve usar um adesivo gif, como você pode encontrar em Giphy.com/stickers - você notará que eles têm planos de fundo transparentes como um PNG, mas na verdade são GIFs.



    Depois de salvar um GIF de adesivo de que você gosta, é necessário convertê-lo em uma série de PNGs. Isso ocorre porque nosso SystemUI modificado não executará realmente um arquivo .gif nativo, ele reproduzirá PNGs em ordem sequencial. Portanto, precisamos dividir o .gif em PNGs sequenciais. Felizmente, podemos fazer isso facilmente com um conversor online como Divisão EZGIF .

    Basta fazer o upload do seu GIF para a ferramenta EZGIF Split, escolher “Saída de imagens no formato PNG” no menu suspenso Opções de divisão e todos os quadros serão extraídos em ordem sequencial. Em seguida, você pode baixar os quadros juntos em um arquivo ZIP.



    Agora você precisa adicionar os quadros PNG do GIF dividido ao seu “ drawable-xxxDPI ”Em sua pasta apk SystemUI descompilada. A pasta que você usará depende do DPI do seu dispositivo, então:

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

    Agora precisamos de um arquivo XML que instrui o Android sobre quais imagens usar para a animação e com que rapidez o ciclo por meio delas. Volte para o ZIP que você baixou anteriormente e pegue o “frame_anim.xml” e copie-o para a pasta “res drawable” dentro do APK descompilado.

    Se você abrir o frame_anim.xml no Notepad ++, ele deve ter a seguinte aparência:

     

    Cada linha começando com

    E, finalmente, antes de podermos recompilar o SystemUI.apk, precisamos colocar nossa animação na barra de navegação. Isso é um pouco complicado, pois iremos editar o arquivo XML de layout. Na maioria das ROMs de estoque, o código que controla a tecla de navegação HOME pode ser encontrado em “layout navigation_bar.xml”, mas também pode ser encontrado em “layout home.xml”. Você precisa procurar por isso, dependendo da sua ROM.

    Basicamente, você está procurando qualquer arquivo XML de layout que contenha o código que se pareça com este:

    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' />

    Você saberá que está no arquivo XML certo quando vir linhas que fazem referência ao home_button ou similar. O que precisamos fazer é ocultar esta tecla HOME, e coloque uma nova em seu lugar, que será do mesmo tamanho, mas invisível, e então nossos quadros animados irão por baixo dela. Na verdade, isso é muito fácil, tudo o que precisamos é um FrameLayout código .

     

    Se você examinar este código, verá como temos três coisas diferentes empilhadas umas sobre as outras. Mas quando o aplicativo está em execução, você não o verá - tudo o que verá é seu GIF animado, onde a tecla HOME deveria estar na barra de navegação.

    Portanto, tudo o que você precisa fazer é substituir a linha de código da tecla programável HOME pelo código FrameLayout acima, mas pode ser necessário ajustá-lo para sua ROM específica. Um pouco de tentativa e erro é necessário aqui.

    Recompilar o APK e Flashing it

    Agora estamos prontos para recompilar o APK modificado. Basta usar o APK Easy Tool para recompilar o SystemUI.apk e atualizá-lo no modo de recuperação em seu dispositivo. É importante fazer isso no modo de recuperação, porque você precisa limpar o cache do Dalvik ou os novos arquivos smali que adicionamos não serão ativados.

    Se tudo correr bem, você verá seu GIF animado como sua nova tecla de navegação inicial!

    4 minutos lidos