tidak dapat menemukan zip-align saat menerbitkan aplikasi

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.

Ini adalah pesan yang saya terima ketika saya mencoba untuk menerbitkan aplikasi saya. Saya menggunakan revisi terbaru dari Android SDK Tools (23 yang dirilis hari ini) dan SDK Platform-tools (20 yang juga dirilis hari ini). Saya mendapat APK darinya, tetapi jika saya mencoba mengunggahnya ke Google Play, saya mendapat kesalahan yang mengeluh bahwa itu tidak selaras dengan zip.

Menjalankan zipalign secara manual memperbaiki apk, tetapi apakah ada yang tahu apa penyebabnya dan bagaimana cara memperbaikinya?

JMRboosties
sumber
7
Alat sdk terbaru (23) belum dikemas dengan benar. Menghadapi masalah dengan banyak alat pada rilis ini.
MeetM

Jawaban:

223

Saya memiliki masalah yang sama. Dan untuk memperbaikinya, saya copy file Zipalign dari folder sdk / build-tools / android-4.4W ke sdk / tools /

Diedit: Sejak Google memperbarui SDK untuk Android, alat build baru memperbaiki masalah ini. Jadi saya mendorong semua orang untuk memperbarui ke Android SDK Build-tools 20 seperti yang disarankan oleh Pang di pos di bawah ini.

Kuma
sumber
1
Ini harus merupakan salinan file dan bukan tautan simbolis di OSX. Saya menggunakan sym-link (yang biasanya cukup) dan masih belum ditemukan.
SnowInferno
7
Saya menemukannya di bawah - sdk \ build-tools \ 20.0.0
shimi_tap
13
Jangan salin exe dari direktori lain. Gunakan SDK Manager untuk menginstal alat SDK Build v20
darksider474
2
Saat menggunakan ant build-release, Anda perlu menambahkan sdk.buildtools = 19.1.0 atau = 20.0.0 ke project.properties. Perhatikan juga bahwa set properti zipalign telah diubah di ANT build.xml agar mengarah ke versi tool chain yang tepat.
david
10
Seperti yang disebutkan dalam beberapa jawaban bahwa Anda perlu menginstal Android SDK Build-tools Rev. 20. Saya melakukannya. Namun tetap mendapatkan error yang sama. Kemudian saya harus menyalin Zipalign dari "sdk / build-tools / 20.0.0" ke "sdk / tools /"
Kevin
96

Saya memperbaikinya dengan menginstal Android SDK Build-tools 20:

Di EclipsePull Down MenuWindowAndroid SDK Manager , centang Android SDK Build-tools Rev. 20 , lalu klik tombol Install n package (s)… untuk mulai menginstal.

Pang
sumber
26
Saya harus memulai kembali gerhana setelah melakukan ini
Cigogne Eveillée
Rev. 23.0.0 perbaiki masalah ini ... Ini berguna untuk build terbaru
Zala Janaksinh
20

Ini menjadi dapat digunakan jika Anda menginstal

Android SDK Build-tools Rev.20
suno
sumber
8

Saya memutuskan untuk hanya membuat video untuk ini .. Saya terus menempelkannya ke alat tetapi sayangnya itu tidak berhasil untuk saya. Saya pindah ke platform-tools dan voila publishing segera..harus restart eclipse setelahnya.

Tutorial untuk memperbaiki zipalign yang hilang

digiboomz
sumber
1
Video yang bagus, terima kasih, bagi saya ini berfungsi dengan menambahkan zipalign ke alat dan bukan alat platform
shimi_tap
Tautan ini memang membantu saya, tetapi alih-alih memindahkan zipalign.exe dari alat build ke alat platform, saya hanya menambahkan folder build-tools PATH env
Paul Samsotha
8

Saya menggunakan jalur lengkap zipalign. Untuk mac, saya menemukan file yang dapat dieksekusi di Finder dan mengkliknya. Kemudian, untuk mempublikasikan aplikasi saya, saya menjalankan

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

dari pada

zipalign -v 4 HelloWorld-release-unsigned.apk HelloWorld.apk
loganyu
sumber
2
Untuk windows (jalur zipalign saya): C:\Users\Machine\AppData\Local\Android\Sdk\build-tools\27.0.3\zipalign.exe Contoh Saya 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:

Ini berhasil untuk saya (Anda mungkin ingin mengganti 22.0.1 dengan versi alat pembuatan Anda):

Sunting: ~ / .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

Dan lari:

source ~/.bashrc

atau cukup tutup terminal dan mulai lagi.

Petter Kjelkenes
sumber
hanya satu edit: Anda melewatkan "ekspor" di baris terakhir. :-)
Manan Shah
7

Di Mac, saya melakukan hal berikut:

  1. Temukan di o / s (Saya sudah mengunduh alat build untuk 19 dan 20)

  2. Tekan Ctrl-Open untuk mengizinkan aplikasi dari internet

  3. Pindahkan dari folder sdk / build-tools / android-4.4W ke sdk / tools /. Wah.

Anna Billstrom
sumber
4

Dengan pembaruan SDK ke 20, versi 20 alat build dan platform, serta 23 dari sdk tolls, Google telah memindahkan banyak hal.

Namun Gradle (jika Anda menggunakan Android Studio) belum diperbarui untuk mencerminkan perubahan tersebut, seperti yang dinyatakan dalam Jawaban lain yang menyalin zipalignbiner ke /sdk/tools/seharusnya melakukan trik untuk saat ini.

PEMBARUAN: sejak Android Studio 0.8.1 dirilis, masalah tampaknya sudah diperbaiki sekarang ...
Anda hanya perlu memperbarui Anda build.gradledan itu akan berfungsi dengan baik lagi

compileSdkVersion 20

buildToolsVersion "20.0.0"

targetSdkVersion 20

dan jika Anda menggunakan compat atau pustaka dukungan

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

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

DooMMasteR
sumber
Poin klarifikasi, pindahkan biner dari folder sdk android Anda ke folder sdk studio android. Seperti: C: \ Program Files (x86) \ Android \ android-sdk \ tools \ zipalign.exe ke C: \ Program Files (x86) \ Android \ android-studio \ sdk \ tools \ zipalign.exe
Joshua G
google telah memperbarui studio android (0.8.1) dan masalah tidak terjadi lagi dengan versi yang lebih baru ini
DooMMasteR
3

Periksa di pengelola SDK, bahwa itu telah menginstal "build-tools". Milik saya dalam keadaan default, tidak melakukan ini.

pengguna3802203
sumber
3

Jika Anda menggunakan gradle, perbarui saja plugin ypur gradle!

Ubah baris di build.gradle dari:

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

untuk:

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

Ini berhasil untuk saya.

Perhatikan bahwa variabel buildToolsVersion (bagi saya "20.0.0") harus cocok dengan versi alat build Anda.

Semoga berhasil :)

centy
sumber
2

Dengan Android Studio 1.0 Anda harus menggunakan zipAlignEnabled true

Niklas
sumber
1

Perbaikan saya berhasil menyalin zipalign.exe dari sdk \ build-tools \ android-4.4W ke sdk \ platform-tools , seperti yang ditunjukkan dalam video yang ditautkan oleh digiboomz, dan tidak berfungsi menyalinnya di sdk \ tools

Asah pisaunya
sumber
1

Jika perintah zipalign tidak ditemukan dari Command-Line, tambahkan jalur file zipalign ke variabel lingkungan. Seperti disebutkan di atas, tidak ada gunanya mengubah lokasi file exe.

Untuk pengguna Windows:

Tambahkan User->PATH->"path to zipalign folder"

Dalam kasus saya itu jalan C:\adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-4.4W. Di folder itu ada zipalign.exe

Tautan ini dapat membantu Anda mengatur jalur dan memahaminya http://www.voidspace.org.uk/python/articles/command_line.shtml#path

Bapak Br
sumber
1

Saya menggunakan Eclipse dan ini rusak selama pembaruan. Inilah yang berhasil bagi saya karena jawaban di atas tidak.
Saya memeriksa di mana semut build.xml diharapkan menemukan zipalign.exe.

Dalam: C:\Development\Android\android-sdk\tools\ant\build.xml zipalign didefinisikan sebagai:

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

yang menunjukkan yang diharapkan dalam:

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

Direktori ini sesuai dengan versi tertinggi 'Android SDK Build-tools' yang ditampilkan seperti yang diinstal di 'Android SDK Manager'. Jadi, di situlah saya menyalin zipalign.exe (yang saya peroleh dari instalasi Android Studio!) Dan aplikasi yang ditandatangani sekarang secara otomatis di-zip lagi!

fr1550n
sumber
1

saya diselesaikan dengan RUN sebagai Administrator @ SDK Manager.exe Anda di direktori C: \ Program Files \ Android SDK

setelah itu Anda akan mendapatkan alat pembangunan yang diperbarui dan repositori apa pun

indrablake
sumber
1

Langkah-langkah untuk memperbaikinya,

  1. Instal versi terbaru Android SDK Build-Tools
  2. Periksa apakah zipalign.exe tersedia di folder android-sdk \ build-tools \ eg android-sdk \ build-tools \ 21.1.0 \
  3. Di beberapa versi Android yang lebih lama Anda mungkin tidak menemukan zipalign.exe. Jangan panik, periksa versi lain di mana zipalign tersedia.
  4. Buka file project.properties Anda dan konfigurasikan alat build untuk mengarah ke tempat zipalign.exe ada. mis. sdk.buildtools = 21.1.0.
  5. Mulai ulang gerhana Anda dan coba ekspor lagi. Ini harus berhasil.
Kaps
sumber
1

Pada mac dengan OSX 10.10.5, Android Studio dan SDK diinstal, jalurnya adalah

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

Tugas gradle Zipalign tidak digunakan lagi sejak Android Plugin for Gradle, Revisi 2.2.0 (September 2016).

Jika Anda ingin tetap menggunakannya, tambahkan android.useOldPackaging = true ke file gradle.properties Anda.

Klik di sini untuk penjelasan rinci.

Meningkatkan performa build dengan mengadopsi pipeline pengemasan default baru yang menangani pembuatan zip, penandatanganan, dan zipaligning dalam satu tugas. Anda dapat kembali menggunakan alat pengemasan yang lebih lama dengan menambahkan android.useOldPackaging = true ke file gradle.properties Anda. Saat menggunakan alat pengemasan baru, tugas zipalignDebug tidak tersedia. Namun, Anda dapat membuatnya sendiri dengan memanggil metode createZipAlignTask (String taskName, File inputFile, File outputFile). Penandatanganan APK sekarang menggunakan APK Signature Scheme v2 selain penandatanganan JAR tradisional. Semua platform Android menerima APK yang dihasilkan. Setiap modifikasi pada APK ini setelah penandatanganan akan membuat tanda tangan v2 mereka tidak valid dan mencegah penginstalan di perangkat. Blockquote

Sfseyhan
sumber
0

zipaligndipindahkan ke build-tools\19.1.0dan build-tools\20.0.0, saya berasumsi Anda harus menggunakan salah satu dari mereka tergantung dari SDK target Anda

Andy Tumanov
sumber
0

Saya memperbaikinya dengan menghapus Android SDK Platform (4.4W) dan kemudian menginstalnya kembali. Saya juga memulai ulang Eclipse setelah penginstalan.

Regis St-Gelais
sumber
0

Dalam kasus saya, SDK Build Tools 20 sudah diinstal. Saya menyalin zipalign.exe di folder Alat tetapi tidak berhasil.

Setelah itu saya perhatikan bahwa saya memperbarui Eclipse tanpa menghapus atau mengganti nama folder lama.

Jadi saya melakukan:

1) Berganti nama folder Eclipse lama 2) Restart Eclipse

Eclipse diminta untuk mengoreksi preferensi Android karena masalahnya adalah Eclipse, yang masih mencoba menggunakan folder lama

Flavio Battocchio
sumber
0

Google memperbaiki kesalahan ini dengan alat versi versi: 23.0.3 Sekarang zipalign dikemas dengan benar, dan semuanya berfungsi dengan baik.

jvmvik.dll
sumber
0

Biasanya zipalign.exe dekat dengan "Android manager" (juga, "Android", "Android SDK" dll), jadi Anda dapat mencari "Android Manager" di pencarian windows dan memberikan klik kanan di atas perintah dan buka lokasi file . Anda mungkin berada di: sesuatu \ Android \ android-sdk \ tools . Kemudian hanya perlu mengembalikan folder dan pergi ke Android \ android-sdk \ build-tools \ 23.0.3 . Zipalign ada di sana, Anda mungkin tidak dapat menggunakannya dengan klik dua kali, jadi Anda harus menyalin semua jalur file zipalign untuk digunakan di CMD , kode terakhir yang harus Anda masukkan adalah seperti:

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

Heitor Giacomini
sumber
0

Ketika saya benar-benar putus asa, saya melakukan hal berikut, yang memungkinkan saya menemukan zipalign.exe resmi . Jawaban singkatnya adalah dengan menggunakan tautan dari bagian resmi (tetapi bukan publik :-) dari situs:

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

Jika Anda menggunakan recepy ini setelah 2018, Anda mungkin memerlukan penjelasan lengkap:

  1. Buka Android Studio dan pergi

    Android Studio->Tools->Android->SDK Manager->Android SDK->SDK update site
  2. Tulis di tautan editor teks dan buka di browser. Dalam kasus saya, tautan pertama berfungsi untuk saya:

    https://dl.google.com/android/repository/repository2-1.xml
  3. Cari alat pembuat paket terbaru. Dalam kasus saya, itu adalah build-tools_r28-rc1-windows.zip , tetapi Anda dapat menemukan yang terbaru dalam waktu Anda

    Ctrl+F build-tools_
  4. Gantikan di URL bagian terakhir dengan nama paket yang ditemukan seperti yang saya lakukan:

    https://dl.google.com/android/repository/build-tools_r28-rc1-windows.zip
  5. Unduh paket, unzip, dan untungnya temukan file resmi:

    zipalign.exe

Jika itu membantu Anda, umpan balik Anda diterima dengan baik.

Roma
sumber
Android Studio-> Tools-> Android-> SDK Manager-> Android SDK -> SDK Tools -> centang "Android SDK Build-Tools 28-rc1", lalu terapkan, Anda akan menginstal alat build, dan Anda dapat menemukan zipalign. exe di SDK \ build-tools \ 28.0.0-rc1 setelah diinstal.
Richard Chan
Anda benar, Ini harus dipasang, tetapi tidak dipasang dalam kasus saya. Saya sudah memeriksa. Resep ini untuk mereka yang tidak memiliki file ini setelah semua upaya.
Roman
0

Saya telah memperbaiki masalah ini dengan melakukan ini:

Buka Android Studio> Preferences> SDK Tools dan centang "Android SDK Build-Tools"

Dung Nguyen
sumber