Не удается найти zip-align при публикации приложения

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, но кто-нибудь знает, что вызывает это и как его исправить?

Solutions Collecting From Web of "Не удается найти zip-align при публикации приложения"

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

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

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

В EclipsePull Down MenuWindowAndroid SDK Manager , проверьте Android SDK Build-tools Rev. 20 , затем нажмите кнопку Установить n пакетов (ов) … , чтобы начать установку.

Он будет использоваться, если вы установите

 Android SDK Build-tools Rev.20 

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

Учебное пособие по устранению недостающих zipalign

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

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

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

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

Я использовал полный путь 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 

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

Gradle (если вы используете Android Studio), однако еще не обновлен, чтобы отразить эти изменения, как указано в других ответах на копирование zipalign binary to /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.+'

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 

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

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

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

Изменить строку в файле build.gradle:

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

чтобы:

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

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

Обратите внимание, что переменная buildToolsVersion (для меня «20.0.0») должна соответствовать вашей версии встроенных инструментов.

Удачи 🙂

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

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

Если команда 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

Я использую 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!), И подписанные приложения теперь автоматически снова zipaligned!

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

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

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

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

Задача zipalign gradle устарела с Android Plugin for Gradle, версия 2.2.0 (сентябрь 2016 г.).

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

Нажмите здесь, чтобы получить подробное объяснение.

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

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

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

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

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

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

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

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

На Mac с OSX 10.10.5 установлены Android Studio и SDK, путь

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

Обычно zipalign.exe близок к «Android-менеджеру» (также «Android», «Android SDK» и т. Д.), Поэтому вы можете искать «Android Manager» в окне поиска и вызывать щелчок над командой и открывать Местоположение файла . Вероятно, вы находитесь в: что-то \ 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

PS: Извините за мой плохой английский, я бразильский.

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