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 Eclipse → menu suspenso → Janela → Gerenciador 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.