не можна знайти zip-align під час публікації програми


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.

Це повідомлення, яке я отримав, коли намагався опублікувати свій додаток. Я використовую останню версію Android SDK Tools (23, яка вийшла сьогодні) та SDK Platform-tools (20, яка також вийшла сьогодні). У мене вийшов APK з нього, але якщо я спробував завантажити його в Google Play, я отримав помилку, нарікаючи, що він не вирівнюється на блискавці.

Запуск zipalign вручну виправляє apk, але хтось знає, що це спричиняє та як це виправити?


7
Останні інструменти sdk (23) не упаковані належним чином. У цій версії зіткнулися з проблемами багатьох інструментів.
Зустріньтеся

Відповіді:


223

У мене була така ж проблема. І щоб виправити це, я копіюю файл Zipalign з папки sdk / build-tools / android-4.4W в sdk / tools /

Відредаговано: Оскільки Google оновив SDK для Android, нові інструменти для збирання вирішують цю проблему. Тож я закликав усіх оновити до Android SDK Build-tools 20, як запропонував Панг у публікації нижче.


1
Це повинна бути копія файлу, а не символічне посилання в OSX. Я використовував сим-зв'язок (чого зазвичай достатньо), і його все одно не знайдено.
SnowInferno

7
Я знайшов це під - sdk \ build-tools \ 20.0.0
shimi_tap

13
Не копіюйте exe з іншого каталогу. Використовуйте менеджер SDK для встановлення інструментів побудови SDK v20
darksider474

2
Під час використання мульти-збірки-випуску потрібно додати sdk.buildtools = 19.1.0 або = 20.0.0 до project.properties. Також зауважте, що набір властивостей zipalign змінено у збірці ANT build.xml, щоб вказати на версію версії ланцюга інструментів.
Девід

10
Як було сказано в деяких відповідях, що вам потрібно встановити Android SDK Build-tools Rev. 20. Я це зробив. Але все одно отримую ту саму помилку. Тоді мені доведеться скопіювати Zipalign з "sdk / build-tools / 20.0.0" в "sdk / tools /"
Кевін

96

Я виправив це, встановивши Android SDK Build-tools 20:

У програмі EclipsePull Down MenuWindowAndroid SDK Manager , перевірте Android SDK Build-tools Rev. 20 , потім натисніть кнопку Install n package (s)…, щоб розпочати встановлення.


26
Мені довелося перезапустити затемнення після цього
Cigogne Eveillée

Rev. 23.0.0 виправити це питання ... Це корисно для останньої збірки
Zala Janaksinh

20

Він стає корисним, якщо встановити

Android SDK Build-tools Rev.20

8

Я вирішив зробити відео для цього. Я продовжував вставляти його в інструменти, але, на жаль, це не працювало для мене. Я перемістив його до платформних інструментів і публікації вуаля відразу. Потрібно після цього перезапустити затемнення.

Навчальний посібник з виправлення відсутніх ципалігнів


1
Чудове відео спасибі, для мене це спрацювало, додавши zipalign до інструментів, а не інструментів платформи
shimi_tap

Це посилання мені допомогло, але замість переміщення zipalign.exe зі збірки-інструментів до платформи-інструментів я тільки що додав папку збирання-інструментів PATH env
Пол Самсота

8

Я використав повний шлях зипалінгну. Для 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

2
Для вікон (мій шлях до зіпалінгу): 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'
Надім

8

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

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


лише одна редакція: ви пропустили "експорт" в останньому рядку. :-)
Манан Шах

7

На Mac я зробив наступне:

  1. Знайдіть його на o / s (я вже завантажив інструменти збирання для 19 та 20)

  2. Натисніть Ctrl-Open, щоб дозволити програми з Інтернету

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


4

З оновленням 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.+'


Точка уточнення, перемістіть двійковий файл із папки sdk для android у папку sdk андроїд-студії. Як: C: \ Program Files (x86) \ Android \ android-sdk \ tools \ zipalign.exe to C: \ Program Files (x86) \ Android \ android-studio \ sdk \ tools \ zipalign.exe
Джошуа G

google оновив андроїд-студію (0.8.1), і більше не виникає проблем із цією новою версією
DooMMasteR

3

Переконайтеся в менеджері SDK, що він встановив "build-tools". Шахта у своєму замовчуванні не робила цього.


3

Якщо ви використовуєте 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") повинна відповідати вашій версії build-інструментів.

Удачі :)



1

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


1

Якщо команда 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


1

Я використовую Eclipse, і ця помилка під час оновлення. Ось що для мене спрацювало, як відповіді вище не відповіли.
Я перевірив, де очікується, що 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

Цей каталог відповідає найвищій версії "Інструментів для збирання SDK для Android", що відображаються у програмі "Менеджер SDK для Android". Отже, саме там я скопіював zipalign.exe (який я отримав при встановленні Android Studio!) І підписані програми тепер автоматично знову відрегулюються!


1

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

після цього ви отримаєте оновлені інструменти збирання будь-якого сховища


1

Кроки, щоб виправити це,

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

1

На mac з OSX 10.10.5, Android Studio та SDK встановлено шлях

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

1

Завдання Zipalign gradle застаріле з моменту плагіну Android для Gradle, версія 2.2.0 (вересень 2016 року).

Якщо ви хочете продовжувати його використовувати, додайте android.useOldPackaging = true у файл gradle.properties.

Клацніть тут для детального пояснення.

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


0

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


0

Я виправив її, видаливши платформу Android SDK (4,4 Вт), а потім перевстановивши її. Я також перезапустив Eclipse після встановлення.


0

У моєму випадку SDK Build Tools 20 вже встановлено. Я скопіював zipalign.exe в папку «Інструменти», але без успіху.

Після цього я помітив, що я оновив Eclipse, не видаляючи або перейменувавши стару папку.

Так я і зробив:

1) Перейменована стара папка Eclipse 2) Retarted Eclipse

Eclipse попросив виправити налаштування Android, оскільки проблемою був Eclipse, який все ще намагався використовувати стару папку


0

Google виправить цю помилку у версії інструментів збирання: 23.0.3 Тепер zipalign упакований належним чином, і все працює добре.


0

Як правило, zipalign.exe близький до "менеджера Android" (також "Android", "Android SDK" тощо), тому ви можете шукати "Диспетчер Android" у пошуку Windows і надати правий клацання над командою та відкрити розташування файлу . Ви, ймовірно, перебуваєте у: інструментах \ Android \ android-sdk \ . Потім просто потрібно повернути папку і перейти на Android \ android-sdk \ build-tools \ 23.0.3 . Ципалігн є, можливо, ви не зможете ним скористатися подвійним клацанням, тому вам доведеться скопіювати весь шлях файлу zipalign для використання у CMD , остаточний код, який ви повинні ввести, буде чимось на зразок:

C: \ Користувачі \ heitor \ AppData \ Local \ Android \ android-sdk \ build-tools \ 23.0.1 \ zipalign.exe -v 4 android.apk android2.apk


0

Коли я був повністю відчайдушним, я зробив наступне, що дозволило мені знайти офіційний 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

Якщо це допоможе вам, ваш відгук буде сприйнятим.


Android Studio-> Інструменти-> Android-> Менеджер SDK-> Android SDK -> Інструменти SDK -> встановіть позначку "Android SDK Build-Tools 28-rc1" ,, тоді застосуйте , встановіть інструменти збирання, і ви зможете знайти zipalign. EXE в SDK \ build-tools \ 28.0.0-rc1 після встановлення.
Річард Чан

Ви маєте рацію, він повинен бути встановлений, але він не був встановлений у моєму випадку. Я перевірив. Цей рецепт призначений для тих, хто не має цього файлу після всіх спроб.
Роман

0

Я вирішив цю проблему, зробивши це:

Відкрийте Android Studio> Налаштування> Інструменти SDK та поставте прапорець "Інструменти для збирання SDK для Android"

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.