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?


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.


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.


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

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


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

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.


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.


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.+'


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.


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 :)


2

Dengan Android Studio 1.0 Anda harus menggunakan zipAlignEnabled true


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


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


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!


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


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.

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

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


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


0

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


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


0

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


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


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.


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"

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.