Como usar um GIF como sua chave inicial do Android Navbar

Algumas mentes brilhantes da comunidade Android descobriram como modificar sua barra de navegação para usar um .gif animado como sua chave de casa, e a Appuals tem o guia para fazer isso!

Aviso: Este é um processo bastante envolvido. Você precisa descompilar seu SystemUI.apk, mexer em alguns arquivos importantes e recompilá-lo novamente. Faça um backup do seu SystemUI.apk caso algo dê errado!

Guias de app relacionados:

  • Como aplicar manualmente a IU do sistema Android do tema
  • Como descompilar e tema Android APKs
  • Como Deodex seus APKs em ROMs de ações

Requisitos:

  • Um telefone Android com raiz (Appuals tem vários guias de raiz para Android!)
  • Uma ferramenta de descompilação APK ( recomendamos APK Easy Tool)
  • Um bom editor de código como o Notepad ++

Decompiling your SystemUI.apk

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

O próximo passo é descompilar o arquivo SystemUI.apk, que requer um guia por si mesmo, se você nunca fez isso antes - por sorte, Appuals tem "Como fazer manualmente a interface de usuário do Android para tema" com instruções de descompilação, então dê uma leitura se você Nunca descompilou um APK antes.

Adicionando os 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 arquivo .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 você goste e queira usar como seu botão home da barra de navegação. Você deve usar um adesivo de gif, como você pode encontrar em Giphy.com/stickers - você notará que eles têm fundos transparentes como um PNG, mas na verdade são GIFs.

Depois de salvar um adesivo GIF que você gosta, você precisa 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 seqüencial. Então, precisamos dividir o .gif em PNGs sequenciais, por sorte, podemos facilmente fazer isso com um conversor online como o EZGIF Split.

Basta carregar o seu GIF para a ferramenta EZGIF Split, escolher “Output images in PNG format” no menu suspenso Split Options, e ele irá extrair todos os frames em ordem seqüencial. Então você pode baixar os quadros juntos em um arquivo ZIP.

Agora você precisa adicionar os quadros PNG do GIF dividido à sua pasta “ drawable-xxxDPIapropriada em sua pasta apk decompiled SystemUI. A pasta que você usará depende do DPI do seu dispositivo, portanto:

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

Agora precisamos de um arquivo XML que instrua o Android sobre quais imagens usar para a animação e com que rapidez percorrê-las. 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 ficar assim:

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, já que vamos editar o arquivo XML de layout. Na maioria das ROMs, o código que controla a tecla de função da barra de tarefas 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 por qualquer arquivo XML de layout que contenha o seguinte código:

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

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

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 você verá é o seu GIF animado, onde a chave HOME deve estar na barra de navegação.

Portanto, tudo o que você precisa fazer é substituir a linha de código de função HOME por código com o código FrameLayout acima, mas talvez seja necessário ajustá-lo para sua ROM específica. Um pouco de tentativa e erro é necessário aqui.

Recompilando o APK e piscando

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

Se tudo correr bem, você deverá ver o seu GIF animado como sua nova chave de início na barra de navegação!

Artigos Interessantes