não é possível encontrar o alinhamento zip ao publicar o aplicativo


123
cannot.find.zip.align=The zipalign tool was not found in the SDK.

Please update to the latest SDK and re-export your application
or run zipalign manually.

Aligning applications allows Android to use application resources
more efficiently.

Essa é a mensagem que recebi quando tentei publicar meu aplicativo. Estou usando a revisão mais recente do Android SDK Tools (23, que foi lançado hoje) e SDK Platform-tools (20, que também foi lançado hoje). Obtive um APK, mas se eu tentasse enviá-lo para o Google Play, recebi um erro ao reclamar que ele não está alinhado.

A execução do zipalign corrige manualmente o apk, mas alguém sabe o que causa isso e como corrigi-lo?


7
As ferramentas mais recentes do sdk (23) não foram compactadas corretamente. Problemas com muitas ferramentas nesta versão.
MeetM

Respostas:


223

Eu tive o mesmo problema. E para corrigi-lo, copio o arquivo Zipalign da pasta sdk / build-tools / android-4.4W para sdk / tools /

Editado: desde que o Google atualizou o SDK para Android, novas ferramentas de compilação corrigem esse problema. Por isso, incentivei todos a atualizar para o Android SDK Build-tools 20, conforme sugerido por Pang no post abaixo.


1
Deve ser uma cópia do arquivo e não um link simbólico no OSX. Eu usei um link sym (que geralmente é suficiente) e ainda não foi encontrado.
SnowInferno

7
Eu encontrei-o em - sdk \ build-tools \ 20.0.0
shimi_tap

13
Não copie o exe de outro diretório. Utilize o SDK Manager para instalar as ferramentas SDK Envergadura v20
darksider474

2
Ao usar o ant build-release, é necessário adicionar sdk.buildtools = 19.1.0 ou = 20.0.0 ao project.properties. Observe também que o conjunto de propriedades zipalign foi alterado no ANT build.xml para apontar na versão da cadeia de ferramentas correta.
david

10
Como mencionado em algumas das respostas necessárias para instalar as ferramentas de compilação do SDK do Android Rev. 20. Eu fiz. Mas ainda está recebendo o mesmo erro. Então eu tenho que copiar zipalign de "SDK / build-tools / 20.0.0" para "SDK / ferramentas /"
Kevin

96

Corrigi-o instalando o Android SDK Build-tools 20:

No Eclipsemenu suspensoJanelaGerenciador do Android SDK , marque Ferramentas de compilação do Android SDK Rev. 20 e clique no ícone Instalar n pacote (s)… para iniciar a instalação.


26
Eu tive que reiniciar eclipse depois de fazer isso
Cigogne Eveillée

Rev. 23.0.0 corrigir esse problema ... É útil para compilação mais recente
Zala Janaksinh

20

Torna-se utilizável se você instalar

Android SDK Build-tools Rev.20

8

Eu decidi apenas fazer um vídeo para isso .. Eu continuei colando em ferramentas, mas infelizmente isso não estava funcionando para mim. Eu o mudei para ferramentas de plataforma e publicação imediata imediatamente ... deve reiniciar o eclipse depois.

Tutorial para corrigir zipalign ausente


1
Grandes vídeo graças, para mim funcionou adicionando o zipalign às ferramentas e não ferramentas de plataforma
shimi_tap

Este link me ajudou, mas em vez de mover o zipalign.exe da compilação-ferramentas para a plataforma-tools, eu adicionei o build-tools pasta do env PATH
Paul Samsotha

8

Eu usei o caminho completo do zipalign. Para mac, encontrei o arquivo executável no Finder e cliquei nele. Então, para publicar meu aplicativo, eu corri

/Users/username/development/sdk/tools/zipalign -v 4 HelloWorld-release-unsigned.apk HelloWorld.apk

ao invés de

zipalign -v 4 HelloWorld-release-unsigned.apk HelloWorld.apk

2
Para windows (meu caminho zipalign): C:\Users\Machine\AppData\Local\Android\Sdk\build-tools\27.0.3\zipalign.exe My Example cmd& 'C:\Users\Machine\AppData\Local\Android\Sdk\build-tools\27.0.3\zipalign.exe' -v 4 './platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk' './platforms/android/app/build/outputs/apk/release/app-release-signed.apk'
Nadim

8

Mac / Linux:

Isso funcionou para mim (você pode querer substituir 22.0.1 pela versão de suas ferramentas de construção):

Editar: ~ / .bashrc

export ANDROID_HOME=~/Android/Sdk/
export ANDROID_TOOLS=~/Android/Sdk/tools/
export ANDROID_BUILD_TOOLS=~/Android/Sdk/build-tools/22.0.1/
export ANDROID_PLATFORM_TOOLS=~/Android/Sdk/platform-tools/
PATH=$PATH:$ANDROID_HOME:$ANDROID_TOOLS:$ANDROID_PLATFORM_TOOLS:$ANDROID_BUILD_TOOLS

E corra:

source ~/.bashrc

ou apenas feche o terminal e inicie-o novamente.


apenas uma edição: você perdeu a "exportação" na última linha. :-)
Manan Shah

7

Em um Mac, fiz o seguinte:

  1. Encontre-o em s / s (eu já havia baixado as ferramentas de construção para 19 e 20)

  2. Pressione Ctrl-Open para permitir aplicativos da Internet

  3. Mova-o da pasta sdk / build-tools / android-4.4W para sdk / tools /. Ufa.


4

Com a atualização do SDK para 20, versão 20 das ferramentas de compilação e plataforma e 23 dos pedágios do sdk, o Google mudou muitas coisas.

Gradle (se você estiver usando o Android Studio), no entanto, ainda não foi atualizado para refletir essas alterações, conforme indicado em outras respostas que copiam o zipalignbinário, para /sdk/tools/fazer o truque por enquanto.

ATUALIZAÇÃO: desde que o Android Studio 0.8.1 foi lançado, o problema parece corrigido agora ...
você só precisa atualizar o seu build.gradlee deve funcionar bem novamente

compileSdkVersion 20

buildToolsVersion "20.0.0"

targetSdkVersion 20

e se você usar qualquer biblioteca compatível ou de suporte

compile 'com.android.support:appcompat-v7:20.+'

compile 'com.android.support:support-v4:20.+'


Ponto de esclarecimento, mova o binário da pasta android sdk para a pasta sdk do android studio. Como: C: \ Arquivos de programas (x86) \ Android \ android-sdk \ tools \ zipalign.exe para C: \ Arquivos de programas (x86) \ Android \ estúdio-android \ sdk \ tools \ zipalign.exe
Joshua G

Google actualiza o estúdio Android (0.8.1) e os problemas não ocorrem mais com esta versão mais recente
DooMMasteR

3

Verifique no gerenciador do SDK se ele instalou as "ferramentas de construção". O meu em seu estado padrão, não fez isso.


3

Se você estiver usando gradle, atualize o plugin ypur gradle!

Altere a linha no build.gradle de:

classpath 'com.android.tools.build:gradle:0.9.+'

para:

classpath 'com.android.tools.build:gradle:0.11.+'

Funciona para mim.

Observe que a variável buildToolsVersion (para mim "20.0.0") deve corresponder à sua versão das ferramentas de construção.

Boa sorte :)


2

Com o Android Studio 1.0, você precisa usar zipAlignEnabled true


1

Minha correção funcionou ao copiar o zipalign.exe de sdk \ build-tools \ android-4.4W para o sdk \ platform-tools , como mostra o vídeo vinculado pelo digiboomz, e não funcionou ao copiá-lo no sdk \ tools


1

Se o comando zipalign não for encontrado na Linha de Comando, inclua o caminho do arquivo zipalign nas variáveis ​​ambientais. Como mencionado acima, nunca é bom alterar o local do arquivo exe.

Para usuários do Windows:

adicionar à User->PATH->"path to zipalign folder"

No meu caso, o caminho era C:\adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-4.4W. Nessa pasta está zipalign.exe

Este link pode ajudá-lo a definir o caminho e compreendê-lo http://www.voidspace.org.uk/python/articles/command_line.shtml#path


1

Eu uso o Eclipse e isso quebrou durante uma atualização. Aqui está o que funcionou para mim, como as respostas acima não.
Eu verifiquei onde o build.xml do ant deveria encontrar o zipalign.exe.

Em: C:\Development\Android\android-sdk\tools\ant\build.xml zipalign é definido como:

<property name="zipalign" location="${android.build.tools.dir}/zipalign${exe}" />

que indica o esperado em:

C:\Development\Android\android-sdk\build-tools\18.0.1

Esse diretório corresponde à versão mais alta das 'Ferramentas de compilação do Android SDK' exibidas como instaladas no 'Android SDK Manager'. Portanto, copiei o zipalign.exe (obtido em uma instalação do Android Studio!) E os aplicativos assinados agora são automaticamente zipalignados novamente!


1

resolvido por EXECUTAR como administrador @ seu SDK Manager.exe no diretório C: \ Arquivos de Programas \ Android SDK

depois disso, você será atualizado com as ferramentas de construção e qualquer repositório


1

Etapas para corrigir isso,

  1. Instale a versão mais recente do Android SDK Build-Tools
  2. Verifique se o zipalign.exe está disponível na pasta android-sdk \ build-tools \ por exemplo, android-sdk \ build-tools \ 21.1.0 \
  3. Em algumas versões mais antigas do android, você pode não encontrar zipalign.exe. Não entre em pânico, verifique qualquer outra versão em que zipalign esteja disponível.
  4. Abra o arquivo project.properties e configure as ferramentas de construção para apontar para o local em que o zipalign.exe está presente. por exemplo, sdk.buildtools = 21.1.0.
  5. Reinicie seu eclipse e tente exportar novamente. Deveria funcionar.

1

Em um mac com OSX 10.10.5, o Android Studio e o SDK instalados, o caminho é

/Users/mles/Library/Android/sdk/build-tools/23.0.1/zipalign

1

A tarefa Zipalign gradle está obsoleta desde o Android Plugin for Gradle, Revisão 2.2.0 (setembro de 2016).

Se você quiser continuar usando, adicione android.useOldPackaging = true ao seu arquivo gradle.properties.

Clique aqui para obter uma explicação detalhada.

Melhora o desempenho da construção adotando um novo pipeline de empacotamento padrão que lida com o fechamento de zíper, a assinatura e o zipaligning em uma tarefa. Você pode voltar a usar as ferramentas de empacotamento mais antigas adicionando android.useOldPackaging = true ao seu arquivo gradle.properties. Ao usar a nova ferramenta de empacotamento, a tarefa zipalignDebug não está disponível. No entanto, você pode criar um chamando o método createZipAlignTask (String taskName, File inputFile, File outputFile). A assinatura do APK agora usa o APK Signature Scheme v2, além da assinatura JAR tradicional. Todas as plataformas Android aceitam os APKs resultantes. Qualquer modificação nesses APKs após a assinatura invalida suas assinaturas v2 e impede a instalação em um dispositivo. Bloco de citação


0

zipalignfoi movido para build-tools\19.1.0e build-tools\20.0.0, presumo que você deva usar um deles dependendo do seu SDK de destino


0

Corrigi-o desinstalando a Plataforma Android SDK (4.4W) e depois reinstalando-o. Também reiniciei o Eclipse após a instalação.


0

No meu caso, o SDK Build Tools 20 já estava instalado. Copiei o zipalign.exe na pasta Ferramentas, mas sem sucesso.

Depois disso, notei que atualizei o Eclipse sem remover ou renomear a pasta antiga.

Então eu fiz:

1) Pasta antiga do Eclipse renomeada 2) Eclipse reiniciado

O Eclipse pediu para corrigir as preferências do Android porque o problema era o Eclipse, que ainda estava tentando usar a pasta antiga


0

O Google corrigiu esse erro com a versão das ferramentas de construção: 23.0.3 Agora o zipalign está compactado corretamente e tudo funciona bem.


0

Normalmente, o zipalign.exe fica perto do "Android manager" (também "Android", "Android SDK" etc.), portanto, você pode procurar por "Android Manager" na pesquisa do Windows e clicar com o botão direito do mouse acima do comando e abrir localização do arquivo . Você provavelmente está em: algo \ Android \ android-sdk \ tools . Em seguida, basta retornar uma pasta e ir para Android \ android-sdk \ build-tools \ 23.0.3 . O zipalign está lá; talvez você não consiga usá-lo com um clique duplo; portanto, é necessário copiar todo o caminho do arquivo zipalign para usar no CMD ; o código final que você deve inserir será algo como:

C: \ Users \ heitor \ AppData \ Local \ Android \ android-sdk \ build-tools \ 23.0.1 \ zipalign.exe -v 4 android.apk android2.apk


0

Quando estava completamente desesperado, fiz o seguinte, que me permitiu encontrar o zipalign.exe oficial . A resposta curta é usar o link da parte oficial (mas não pública :-) do site:

https://dl.google.com/android/repository/build-tools_r28-rc1-windows.zip

Se você usar esta receita depois de 2018, provavelmente precisará da explicação completa:

  1. Abra o Android Studio e vá

    Android Studio->Tools->Android->SDK Manager->Android SDK->SDK update site
  2. Escreva no link do editor de texto e abra-o no navegador. No meu caso, o primeiro link funcionou para mim:

    https://dl.google.com/android/repository/repository2-1.xml
  3. Procure as mais recentes ferramentas de compilação de pacotes. No meu caso, era build-tools_r28-rc1-windows.zip , mas você pode encontrar as mais recentes no seu tempo

    Ctrl+F build-tools_
  4. Substitua na URL a última parte pelo nome do pacote encontrado, como eu fiz:

    https://dl.google.com/android/repository/build-tools_r28-rc1-windows.zip
  5. Baixe o pacote, descompacte-o e, felizmente, encontre o arquivo oficial:

    zipalign.exe

Se isso o ajudar, seus comentários serão bem-vindos.


Android Studio-> Ferramentas-> Android-> Gerenciador de SDK-> SDK do Android -> Ferramentas do SDK -> marque "Ferramentas de compilação do SDK do Android 28-rc1" apply e aplique ,, você instalará as ferramentas de compilação e poderá encontrar zipalign. exe no SDK \ build-tools \ 28.0.0-rc1 após a instalação.
Richard Chan

Você está certo, ele deve estar instalado, mas não foi instalado no meu caso. Eu chequei. Esta receita é para quem não possui esse arquivo depois de todas as tentativas.
Roman

0

Corrigi esse problema fazendo o seguinte:

Abra o Android Studio> Preferências> Ferramentas do SDK e marque "Ferramentas de compilação do Android SDK"

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.