не удается найти выравнивание по zip при публикации приложения

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.

Это сообщение я получил, когда пытался опубликовать свое приложение. Я использую последнюю версию Android SDK Tools (23, выпущенных сегодня) и SDK Platform-tools (20, которые также были выпущены сегодня). Я получил APK-файл, но если я попытался загрузить его в Google Play, я получил сообщение об ошибке с жалобой на то, что он не выровнен по zip.

Запуск zipalign вручную исправляет apk, но кто-нибудь знает, что вызывает это и как это исправить?


person JMRboosties    schedule 27.06.2014    source источник
comment
Последние инструменты sdk (23) не были упакованы должным образом. Столкнулся с проблемами со многими инструментами в этом выпуске.   -  person MeetM    schedule 28.06.2014


Ответы (25)


У меня такая же проблема. И чтобы это исправить, копирую файл Zipalign из папки sdk / build-tools / android-4.4W в sdk / tools /

Отредактировано. Поскольку Google обновил SDK для Android, новые инструменты сборки решают эту проблему. Поэтому я призвал всех обновиться до Android SDK Build-tools 20, как предложил Панг в сообщении ниже.

person Kuma    schedule 27.06.2014
comment
Это должна быть копия файла, а не символическая ссылка в OSX. Я использовал символьную ссылку (которой обычно достаточно), но ее все равно не нашли. - person SnowInferno; 28.06.2014
comment
Я нашел его в - sdk \ build-tools \ 20.0.0 - person shimi_tap; 21.07.2014
comment
Не копируйте exe из другого каталога. Используйте SDK Manager для установки SDK Build tools v20 - person darksider474; 23.07.2014
comment
При использовании ant build-release необходимо добавить sdk.buildtools = 19.1.0 или = 20.0.0 в project.properties. Также обратите внимание, что набор свойств zipalign был изменен в ANT build.xml, чтобы указывать на правильную версию цепочки инструментов. - person david; 28.07.2014
comment
Как упоминалось в некоторых ответах, вам необходимо установить Android SDK Build-tools Rev.20. Я установил. Но все равно возникает та же ошибка. Затем мне нужно скопировать Zipalign из sdk / build-tools / 20.0.0 в sdk / tools / - person Kevin; 13.08.2014
comment
Я проголосовал против - правильный ответ - получить инструменты сборки версии 20 (как в ответе Панг) - person bharal; 28.08.2014
comment
Теперь инструмент Zipalign находится в этом месте по адресу /path/to/sdk/build-tools/zipalign.exe. - person Sudhanshu Gaur; 17.05.2016
comment
Zipalign устарел, начиная с подключаемого модуля Android для Gradle, версия 2.2.0 (сентябрь 2016 г.). Подробности см. В моем ответе ниже. stackoverflow.com/a/39708969/5309676 - person Sfseyhan; 26.09.2016

Я исправил это, установив Android SDK Build-tools 20:

В Eclipseраскрывающееся менюОкноAndroid SDK Manager установите флажок Инструменты сборки Android SDK. Версия 20, затем нажмите кнопку Установить n пакетов…, чтобы начать установку.

person Pang    schedule 27.06.2014
comment
Мне пришлось перезапустить eclipse после этого - person Cigogne Eveillée; 29.06.2014
comment
Версия 23.0.0 исправляет эту проблему ... Это полезно для последней сборки - person Zala Janaksinh; 15.09.2015

Его можно будет использовать, если вы установите

Android SDK Build-tools Rev.20
person suno    schedule 27.06.2014

Я решил снять для этого видео ... Я продолжал вставлять его в инструменты, но, увы, у меня это не сработало. Я переместил его в платформенные инструменты и сразу же опубликовал ... После этого нужно перезапустить eclipse.

Руководство по исправлению отсутствующего zipalign

person digiboomz    schedule 05.07.2014
comment
Отличное видео, спасибо, для меня это сработало, добавив zipalign к инструментам, а не к инструментам платформы - person shimi_tap; 21.07.2014
comment
Эта ссылка мне помогла, но вместо того, чтобы переместить zipalign.exe из инструментов сборки в инструменты платформы, я просто добавил папку инструментов сборки PATH env - person Paul Samsotha; 13.03.2016

Я использовал полный путь zipalign. Для Mac я нашел исполняемый файл в Finder и щелкнул по нему. Затем, чтобы опубликовать свое приложение, я запустил

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

вместо того

zipalign -v 4 HelloWorld-release-unsigned.apk HelloWorld.apk
person loganyu    schedule 23.01.2015
comment
Для окон (мой путь к zipalign): C:\Users\Machine\AppData\Local\Android\Sdk\build-tools\27.0.3\zipalign.exe Мой пример 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' - person Nadim; 26.03.2018

Mac / Linux:

У меня это сработало (возможно, вы захотите заменить 22.0.1 версией своих инструментов сборки):

Изменить: ~ / .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

И запускаем:

source ~/.bashrc

или просто закройте терминал и запустите его снова.

person Petter Kjelkenes    schedule 02.06.2015
comment
только одно изменение: вы пропустили экспорт в последней строке. :-) - person Manan Shah; 19.07.2019

На Mac я сделал следующее:

  1. Найдите его в o / s (я уже скачал инструменты сборки для 19 и 20)

  2. Нажмите Ctrl-Open, чтобы разрешить приложения из Интернета.

  3. Переместите его из папки sdk / build-tools / android-4.4W в sdk / tools /. Уф.

person Anna Billstrom    schedule 09.10.2014

С обновлением SDK до 20, версией 20 инструментов сборки и платформы и 23 платами sdk Google многое изменил.

Однако Gradle (если вы используете Android Studio) еще не обновлен, чтобы отразить эти изменения, как указано в других ответах, копирование двоичного файла zipalign в /sdk/tools/ должно помочь.

ОБНОВЛЕНИЕ: с момента выхода Android Studio 0.8.1 проблема теперь решена…
вам нужно только обновить build.gradle, и он снова должен работать нормально

compileSdkVersion 20

buildToolsVersion "20.0.0"

targetSdkVersion 20

и если вы используете какую-либо совместимую или поддерживающую библиотеку

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

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

person DooMMasteR    schedule 27.06.2014
comment
Уточнение: переместите двоичный файл из папки SDK Android в папку SDK студии Android. Например: C: \ Program Files (x86) \ Android \ android-sdk \ tools \ zipalign.exe в C: \ Program Files (x86) \ Android \ android-studio \ sdk \ tools \ zipalign.exe - person Joshua G; 27.06.2014
comment
Google обновил студию Android (0.8.1), и с этой новой версией проблем больше не возникает - person DooMMasteR; 01.07.2014

Проверьте в диспетчере SDK, что он установил «инструменты сборки». Моя в состоянии по умолчанию этого не делала.

person user3802203    schedule 03.07.2014

Если вы используете gradle, просто обновите плагин ypur gradle!

Измените строку в build.gradle с:

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

to:

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

Меня устраивает.

Обратите внимание, что переменная buildToolsVersion (для меня "20.0.0") должна соответствовать вашей версии build-tools.

Удачи :)

person centy    schedule 06.08.2014

В Android Studio 1.0 вы должны использовать zipAlignEnabled true

person Niklas    schedule 05.12.2014

Мое исправление помогло скопировать zipalign.exe из sdk \ build-tools \ android-4.4W в sdk \ platform-tools, как показано на видео, связанном с digiboomz, и не получилось скопировать его в sdk \ tools

person MackTheKnife    schedule 15.07.2014

Если команда zipalign не найдена из командной строки, добавьте путь к файлу zipalign в переменные среды. Как упоминалось выше, никогда не стоит менять расположение exe-файла.

Для пользователей Windows:

Добавить в User->PATH->"path to zipalign folder"

В моем случае это был путь C:\adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-4.4W. В этой папке находится zipalign.exe

Эта ссылка может помочь вам установить путь и понять его http://www.voidspace.org.uk/python/articles/command_line.shtml#path

person Mr Br    schedule 05.08.2014

Я использую Eclipse, и это сломалось во время обновления. Вот что сработало для меня, а ответы выше - нет.
Я проверил, где ant build.xml ожидал найти zipalign.exe.

В: C:\Development\Android\android-sdk\tools\ant\build.xml zipalign определяется как:

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

что указывает на его ожидание в:

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

Этот каталог соответствует самой высокой версии «Android SDK Build-tools», отображаемой как установленная в «Android SDK Manager». Итак, именно здесь я скопировал zipalign.exe (который я получил при установке Android Studio!), И подписанные приложения теперь снова автоматически выравниваются по zipalign!

person fr1550n    schedule 14.08.2014

Я решил RUN как администратор @ ваш SDK Manager.exe в каталоге C: \ Program Files \ Android SDK

после этого вы получите обновленные инструменты сборки в любом репозитории

person indrablake    schedule 13.01.2015

Шаги, чтобы исправить это,

  1. Установите последнюю версию Android SDK Build-Tools.
  2. Проверьте, доступен ли zipalign.exe в папке android-sdk \ build-tools \, например. андроид-SDK \ сборочные инструменты \ 21.1.0 \
  3. В некоторых старых версиях Android вы можете не найти zipalign.exe. Не паникуйте, проверьте любую другую версию, в которой доступен zipalign.
  4. Откройте файл project.properties и настройте инструменты сборки так, чтобы они указывали на файл, в котором находится zipalign.exe. например sdk.buildtools = 21.1.0.
  5. Перезагрузите затмение и попробуйте снова экспортировать. Он должен работать.
person Kaps    schedule 02.11.2014

На Mac с OSX 10.10.5, установленными Android Studio и SDK путь следующий:

/Users/mles/Library/Android/sdk/build-tools/23.0.1/zipalign
person mles    schedule 21.09.2015

Задача Gradle Zipalign устарела, начиная с подключаемого модуля Android для Gradle версии 2.2.0 (сентябрь 2016 г.).

Если вы хотите и дальше использовать его, добавьте android.useOldPackaging = true в свой файл gradle.properties.

Щелкните здесь для подробного объяснения.

Повышает производительность сборки за счет внедрения нового конвейера упаковки по умолчанию, который обрабатывает архивирование, подписание и выравнивание в одной задаче. Вы можете вернуться к использованию старых инструментов упаковки, добавив android.useOldPackaging = true в свой файл gradle.properties. При использовании нового инструмента упаковки задача zipalignDebug недоступна. Однако вы можете создать его самостоятельно, вызвав метод createZipAlignTask (String taskName, File inputFile, File outputFile). Для подписания APK теперь используется схема подписи APK v2 в дополнение к традиционной подписи JAR. Все платформы Android принимают полученные APK. Любая модификация этих APK после подписания делает их подписи v2 недействительными и препятствует установке на устройстве. Цитата

person Sfseyhan    schedule 26.09.2016

zipalign был перемещен в build-tools\19.1.0 и build-tools\20.0.0, я полагаю, вам следует использовать один из них в зависимости от вашего целевого SDK

person Andy Tumanov    schedule 27.06.2014

Я исправил это, удалив платформу Android SDK (4.4W), а затем переустановив ее. Я также перезапустил Eclipse после установки.

person Regis St-Gelais    schedule 06.08.2014

В моем случае SDK Build Tools 20 уже был установлен. Я скопировал zipalign.exe в папку «Инструменты», но безуспешно.

После этого я заметил, что обновил Eclipse, не удаляя и не переименовывая старую папку.

Так я и сделал:

1) Переименовали старую папку Eclipse 2) Перезагрузили Eclipse

Eclipse попросил исправить настройки Android, потому что проблема заключалась в Eclipse, который все еще пытался использовать старую папку

person Flavio Battocchio    schedule 28.09.2014

Google исправил эту ошибку с помощью версии инструментов сборки: 23.0.3. Теперь zipalign упакован правильно, и все работает нормально.

person jvmvik    schedule 07.06.2016

Обычно zipalign.exe находится рядом с «Android Manager» (также «Android», «Android SDK» и т. Д.), Поэтому вы можете искать «Android Manager» выполните поиск в Windows и нажмите правой кнопкой мыши над командой и открытием местоположения файла. Вероятно, вы находитесь в: something \ Android \ android-sdk \ tools. Тогда просто необходимо вернуть папку и перейти в Android \ android-sdk \ build-tools \ 23.0.3. Есть zipalign, возможно, вы не сможете использовать его двойным щелчком, поэтому вам нужно скопировать весь путь к файлу zipalign для использования в CMD, окончательный код, который вам нужно ввести, будет примерно таким:

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

person Heitor Giacomini    schedule 25.05.2016

Когда я был в полном отчаянии, я сделал следующее, что позволило мне найти официальный zipalign.exe. Короткий ответ - использовать ссылку с официальной (но не общедоступной :-) части сайта:

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

Если вы используете этот прием после 2018 года, вам, вероятно, понадобится полное объяснение:

  1. Откройте Android Studio и вперед

    Android Studio->Tools->Android->SDK Manager->Android SDK->SDK update site
    
  2. Напишите в текстовом редакторе ссылку и откройте ее в браузере. В моем случае у меня сработала первая ссылка:

    https://dl.google.com/android/repository/repository2-1.xml
    
  3. Ищите новейшие инструменты для сборки пакетов. В моем случае это был build-tools_r28-rc1-windows.zip, но вы можете найти самый последний на свое время

    Ctrl+F build-tools_
    
  4. Замените в URL последнюю часть найденным именем пакета, как это сделал я:

    https://dl.google.com/android/repository/build-tools_r28-rc1-windows.zip
    
  5. Загрузите пакет, разархивируйте его и, к счастью, найдете официальный файл:

    zipalign.exe
    

Если это вам поможет, мы будем рады вашим отзывам.

person Roman    schedule 08.03.2018
comment
Android Studio- ›Tools-› Android- ›SDK Manager-› Android SDK - ›SDK Tools -› отметьте Android SDK Build-Tools 28-rc1 , затем примените , вы установите инструменты сборки и найдете zipalign.exe в SDK \ build-tools \ 28.0.0-rc1 после установки. - person Richard Chan; 09.03.2018
comment
Вы правы, он должен был быть установлен, но не был установлен в моем случае. Я проверил. Этот рецепт для тех, у кого нет этого файла после всех попыток. - person Roman; 10.03.2018

Я исправил эту проблему, выполнив следующие действия:

Откройте Android Studio> Настройки> Инструменты SDK и отметьте «Android SDK Build-Tools».

person Dung Nguyen    schedule 10.01.2020