top of page
Search
oleggohvw4

Apktool Failed To Extract Native Libraries Res -2



Como corrigir falha do Apktool ao extrair erro de bibliotecas nativas




Se você é um desenvolvedor ou entusiasta do Android, pode ter encontrado o erro "Falha ao extrair bibliotecas nativas, res=-2" ao tentar instalar um arquivo APK modificado em seu dispositivo. Esse erro pode ser frustrante e impedir que você teste ou use seu aplicativo modificado. Neste artigo, explicaremos o que causa esse erro e como corrigi-lo usando três métodos diferentes.




apktool failed to extract native libraries res -2



O que é Apktool e por que você precisa dele?




Apktool é uma ferramenta para fazer engenharia reversa de arquivos APK do Android




Apktool é um poderoso software desenvolvido pelo membro sênior do XDA ibotpeaches. A ferramenta permite que você faça engenharia reversa de arquivos APK, permitindo decodificar arquivos de recursos para que você possa modificá-los e reconstruí-los depois de fazer algumas alterações. Você pode usar o Apktool para compilar o APK de uma fonte modificada, descompilar o APK, editar e recompilar arquivos APK e criar um pacote de aplicativo Android.


Você pode usar Apktool para modificar, depurar e recompilar arquivos APK




Algumas das razões pelas quais você pode querer usar o Apktool são:


  • Para alterar o ícone, nome, tema ou layout do aplicativo



  • Para adicionar ou remover recursos ou permissões



  • Para injetar código ou anúncios em um aplicativo



  • Para analisar ou depurar o comportamento ou desempenho de um aplicativo



  • Para saber como um aplicativo funciona ou como foi feito



O Apktool é compatível com os sistemas Windows, Linux e Mac OS. Você pode baixá-lo de seu site oficial ou de seu repositório GitHub. Você também precisará do Java Runtime Environment (JRE) instalado em seu sistema para executar o Apktool.


O que causa o erro "Falha ao extrair bibliotecas nativas, res=-2"?




O erro ocorre quando você tenta instalar um arquivo APK modificado




O erro "Falha ao extrair bibliotecas nativas, res=-2" O erro "Falha ao extrair bibliotecas nativas, res=-2" é um problema comum que muitos usuários do Apktool enfrentam quando tentam instalar um arquivo APK modificado em seu dispositivo.O erro significa que o sistema Android falhou ao extrair as bibliotecas nativas (como arquivos .so) do arquivo APK, resultando em falha na instalação.


O erro está relacionado ao sinalizador extractNativeLibs no arquivo AndroidManifest.xml




Uma das possíveis causas desse erro é o sinalizador extractNativeLibs no arquivo AndroidManifest.xml. Este sinalizador determina se as bibliotecas nativas devem ser extraídas do arquivo APK ou não. Se o sinalizador for definido como falso, as bibliotecas nativas não serão extraídas e serão carregadas diretamente do arquivo APK. Isso pode economizar algum espaço em disco e melhorar o desempenho, mas também requer que algumas condições sejam atendidas, como:


  • O arquivo APK deve estar alinhado à página com a ferramenta zipalign



  • As bibliotecas nativas devem ser descompactadas e armazenadas no arquivo APK sem preenchimento ou alinhamento



  • O dispositivo deve suportar o carregamento de bibliotecas nativas de arquivos APK



Se alguma dessas condições não for atendida, a instalação falhará com o erro "Falha ao extrair bibliotecas nativas, res=-2". Isso pode acontecer se você modificar o arquivo APK com o Apktool e alterar algumas das bibliotecas nativas ou suas configurações de compactação.


O erro também pode ser causado por uma ferramenta aapt ausente ou desatualizada




Outra possível causa desse erro é uma ferramenta aapt ausente ou desatualizada. Aapt significa Android Asset Packaging Tool e é uma ferramenta que compila e empacota recursos para aplicativos Android. O Apktool usa o aapt para recompilar o arquivo APK depois de fazer algumas alterações. No entanto, se você não tiver o aapt instalado em seu sistema ou se tiver uma versão mais antiga dele, o Apktool pode não conseguir recompilar o arquivo APK corretamente e causar alguns problemas com as bibliotecas nativas.


Como corrigir o erro "Falha ao extrair bibliotecas nativas, res=-2"?




Existem vários métodos que você pode tentar corrigir esse erro e instalar seu arquivo APK modificado com sucesso. Aqui estão três deles:


Método 1: definir o sinalizador extractNativeLibs como verdadeiro no arquivo AndroidManifest.xml




Esse método envolve definir o sinalizador extractNativeLibs como true no arquivo AndroidManifest.xml. Isso instruirá o sistema Android a extrair as bibliotecas nativas do arquivo APK e armazená-las no dispositivo. Isso pode resolver o problema se o seu dispositivo não suportar o carregamento de bibliotecas nativas de arquivos APK ou se o arquivo APK não estiver alinhado à página ou tiver bibliotecas nativas compactadas ou preenchidas.


Etapa 1: descompilar o arquivo APK com o Apktool




Para descompilar o arquivo APK com Apktool, você precisa abrir um prompt de comando ou janela de terminal e navegar até a pasta onde você tem Apktool e seu arquivo APK. Em seguida, digite o seguinte comando:


apktool d -f -o output_folder apk_file.apk


Este comando descompilará seu arquivo APK e criará uma pasta de saída com todos os arquivos e pastas de seu aplicativo. Você pode alterar o nome da pasta de saída e apk_file.apk conforme desejar.


Etapa 2: edite o arquivo AndroidManifest.xml e altere o atributo extractNativeLibs para true




Em seguida, você precisa abrir a pasta de saída e encontrar o arquivo AndroidManifest.xml. Este é um arquivo XML que contém informações sobre seu aplicativo, como nome do pacote, versão, permissões, atividades etc. Você precisa abrir este arquivo com um editor de texto e procurar a seguinte linha:


<application android:extractNativeLibs="false" ... >


Essa linha define o sinalizador extractNativeLibs como falso para seu aplicativo. Você precisa alterá-lo para true assim:


<application android:extractNativeLibs="true" ... >


Isso instruirá o sistema Android a extrair as bibliotecas nativas do seu aplicativo ao instalá-lo. Salve e feche o arquivo após fazer essa alteração.


Passo 3: Recompile o arquivo APK com Apktool




Agora que você editou o arquivo AndroidManifest.xml, você precisa recompilar seu aplicativo com o Apktool. Para fazer isso, volte ao prompt de comando ou janela do terminal e digite o seguinte comando:


apktool b -f -o new_apk_file.apk output_folder


Este comando recompilará seu aplicativo e criará um novo arquivo APK com suas alterações. Você pode alterar o nome de new_apk_file.apk conforme desejar.




Passo 4: Assine e alinhe o arquivo APK com as ferramentas apksigner e zipalign




Antes de instalar seu novo arquivo APK em seu dispositivo, você precisa assiná-lo e alinhá-lo com as ferramentas apksigner e zipalign. São ferramentas que verificam e otimizam seu arquivo APK para distribuição. Você pode encontrar essas ferramentas na pasta ferramentas de construção do SDK do Android ou baixá-las da Internet.


Para assinar seu arquivo APK com apksigner, você precisa ter um arquivo keystore que contenha sua chave privada e certificado. Você pode criar um arquivo keystore com o comando keytool ou usar um existente. Em seguida, digite o seguinte comando:


apksigner sign --ks keystore_file --out assinado_apk_file.apk new_apk_file.apk


Este comando assinará seu arquivo APK com seu arquivo keystore e criará um arquivo APK assinado. Você pode alterar o nome de keystore_file, assinado_apk_file.apk e new_apk_file.apk conforme desejar.


Para alinhar seu arquivo APK com zipalign, digite o seguinte comando:


zipalign -f -v 4 assinado_apk_arquivo.apk alinhado_apk_arquivo.apk


Este comando alinhará seu arquivo APK em limites de 4 bytes e criará um arquivo APK alinhado. Você pode alterar o nome de assinado_apk_file.apk e align_apk_file.apk como desejar.


Etapa 5: instale o arquivo APK no seu dispositivo




Por fim, você pode instalar seu arquivo APK alinhado em seu dispositivo. Para fazer isso, você precisa habilitar a instalação de aplicativos de fontes desconhecidas nas configurações do seu dispositivo. Em seguida, você pode usar um aplicativo gerenciador de arquivos ou um comando adb para transferir e instalar o arquivo APK em seu dispositivo. Você deve ser capaz de instalá-lo sem erros.


Método 2: página alinhe o arquivo APK com a ferramenta zipalign e adicione o parâmetro -p




Este método envolve alinhar a página do arquivo APK com a ferramenta zipalign e adicionar o parâmetro -p ao recompilá-lo com Apktool. Isso pode resolver o problema se o seu dispositivo suportar o carregamento de bibliotecas nativas de arquivos APK, mas seu arquivo APK não estiver alinhado à página ou tiver bibliotecas nativas compactadas ou preenchidas.


Etapa 1: descompilar o arquivo APK com o Apktool




A primeira etapa é a mesma do método 1. Você precisa descompilar o arquivo APK com o Apktool usando o seguinte comando:


apktool d -f -o output_folder apk_file.apk


Passo 2: Recompile o arquivo APK com Apktool




A segunda etapa é um pouco diferente do método 1. Você precisa recompilar o arquivo APK com o Apktool usando o seguinte comando:


apktool b -f -o new_apk_file.apk -p output_folder output_folder


O parâmetro -p informa ao Apktool para usar a pasta de saída como uma pasta de estrutura. Isso garantirá que o Apktool não comprima ou preencha nenhuma biblioteca nativa no arquivo APK.


Etapa 3: alinhe a página do arquivo APK com a ferramenta zipalign e adicione o parâmetro -p




A terceira etapa também é diferente do método 1. Você precisa alinhar a página do arquivo APK com a ferramenta zipalign usando o seguinte comando:


zipalign -f -v -p 4096 new_apk_file.apk align_apk_file.apk


O parâmetro -p informa ao zipalign para alinhar a página de todo o arquivo APK, não apenas de arquivos individuais dentro dele. Isso garantirá que as bibliotecas nativas sejam armazenadas no arquivo APK sem preenchimento ou alinhamento.


Passo 4: Assine o arquivo APK com a ferramenta apksigner




A quarta etapa é a mesma do método 1. Você precisa assinar o arquivo APK com a ferramenta apksigner usando o seguinte comando:


apksigner sign --ks keystore_file --out assinado_apk_file.apk align_apk_file.apk


Etapa 5: instale o arquivo APK no seu dispositivo




A quinta etapa também é a mesma do método 1. Você precisa instalar o arquivo APK assinado em seu dispositivo após habilitar fontes desconhecidas nas configurações do dispositivo.


Método 3: Instale o pacote ia32-libs e atualize a versão do Apktool




Este método envolve a instalação do pacote ia32-libs e a atualização da versão Apktool em seu sistema Linux. Isso pode resolver o problema se você estiver usando um sistema Linux de 64 bits e tiver uma ferramenta aapt ausente ou desatualizada.


Etapa 1: instalar o pacote ia32-libs Passo 1: Instale o pacote ia32-libs em seu sistema Linux com o comando apt-get




Se você estiver usando um sistema Linux de 64 bits, pode ser necessário instalar o pacote ia32-libs para executar a versão de 32 bits da ferramenta aapt. Este pacote fornece algumas bibliotecas necessárias para executar aplicativos de 32 bits em um sistema de 64 bits. Para instalar o pacote ia32-libs, você precisa abrir uma janela de terminal e digitar o seguinte comando:


sudo apt-get install ia32-libs


Este comando instalará o pacote ia32-libs e suas dependências em seu sistema. Pode ser necessário digitar sua senha e confirmar a instalação.


Etapa 2: Baixe e instale a versão mais recente do Apktool em seu site oficial




Em seguida, você precisa baixar e instalar a versão mais recente do Apktool em seu site oficial. A versão mais recente do Apktool vem com a versão mais recente da ferramenta aapt, que pode corrigir alguns problemas com as bibliotecas nativas. Para baixar e instalar a versão mais recente do Apktool, você precisa seguir estas etapas:


  • Vá para o site oficial do Apktool e clique no botão Download



  • Selecione a versão mais recente do Apktool (por exemplo, apktool_2.6.0.jar) e salve-o no local de sua preferência



  • Renomeie o arquivo baixado para apktool.jar por conveniência



  • Mova o arquivo apktool.jar para a mesma pasta onde você tem seu arquivo APK



  • Baixe o script wrapper apktool do repositório GitHub e salve-o na mesma pasta que apktool.jar



  • Renomeie o arquivo baixado para apktool por conveniência



  • Torne o arquivo apktool executável digitando o seguinte comando na janela do terminal:



chmod +x apktool


  • Agora você instalou a versão mais recente do Apktool em seu sistema



Etapa 3: descompile, recompile, assine e alinhe o arquivo APK normalmente




A terceira etapa é semelhante ao método 1 ou método 2. Você precisa descompilar, recompilar, assinar e alinhar o arquivo APK normalmente usando as ferramentas Apktool, apksigner e zipalign. No entanto, você precisa usar o novo arquivo apktool que você instalou em vez do antigo.Por exemplo, para descompilar o arquivo APK com Apktool, você precisa digitar o seguinte comando:


./apktool d -f -o output_folder apk_file.apk


O resto das etapas são as mesmas do método 1 ou método 2.


Etapa 4: instale o arquivo APK no seu dispositivo




A quarta etapa também é semelhante ao método 1 ou método 2. Você precisa instalar o arquivo APK assinado e alinhado em seu dispositivo após habilitar fontes desconhecidas nas configurações do dispositivo.


Conclusão




Neste artigo, explicamos o que causa o erro "Falha ao extrair bibliotecas nativas, res=-2" ao instalar um arquivo APK modificado em seu dispositivo e como corrigi-lo usando três métodos diferentes. Esperamos que este artigo tenha ajudado você a resolver seu problema e aproveitar seu aplicativo modificado. Se você tiver alguma dúvida ou feedback, sinta-se à vontade para deixar um comentário abaixo.


perguntas frequentes




O que é um arquivo APK?




Um arquivo APK é um arquivo de pacote de aplicativo Android que contém todos os arquivos e recursos de um aplicativo Android. Você pode instalar um arquivo APK em seu dispositivo baixando-o de uma fonte confiável ou transferindo-o de seu computador.


O que é uma biblioteca nativa?




Uma biblioteca nativa é uma biblioteca que contém código escrito em linguagens nativas, como C ou C++. As bibliotecas nativas são usadas por alguns aplicativos Android para executar tarefas complexas ou intensivas que não podem ser feitas apenas pelo código Java.


O que é zipalign?




Zipalign é uma ferramenta que otimiza um arquivo APK alinhando seus arquivos em limites de 4 bytes. Isso pode reduzir a quantidade de RAM consumida por um aplicativo e melhorar seu desempenho.


O que é apksigner?




Apksigner é uma ferramenta que assina um arquivo APK com uma chave privada e um certificado. Isso garante que o aplicativo seja autêntico e não tenha sido adulterado.


O que é extractNativeLibs?




ExtractNativeLibs é um sinalizador que determina se as bibliotecas nativas devem ser extraídas de um arquivo APK ou não. Se definido como true, as bibliotecas nativas serão extraídas ExtractNativeLibs é um sinalizador que determina se as bibliotecas nativas devem ser extraídas de um arquivo APK ou não. Se definido como verdadeiro, as bibliotecas nativas serão extraídas e armazenadas no dispositivo. Se definido como falso, as bibliotecas nativas não serão extraídas e serão carregadas diretamente do arquivo APK. 0517a86e26


1 view0 comments

Recent Posts

See All

Comentarios


bottom of page