uygulama yayınlarken zip hizalaması bulunamıyor


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.

Bu, uygulamamı yayınlamaya çalıştığımda aldığım mesaj. Android SDK Araçlarının (bugün piyasaya sürülen 23) ve SDK Platform araçlarının (bugün de piyasaya sürülen 20) en son revizyonunu kullanıyorum. Bundan bir APK aldım, ancak Google Play'e yüklemeye çalışırsam, zip hizalı olmadığından şikayet eden bir hata aldım.

Zipalign'ı manuel olarak çalıştırmak apk'yi düzeltir, ancak buna neyin neden olduğunu ve nasıl düzeltileceğini bilen var mı?


7
En son sdk araçları (23) düzgün bir şekilde paketlenmemiş. Bu sürümde birçok araçta sorunlarla karşılaşıldı.
MeetM

Yanıtlar:


223

Ben de aynı sorunu yaşadım. Ve düzeltmek için Zipalign dosyasını sdk / build-tools / android-4.4W klasöründen sdk / tools / konumuna kopyalıyorum.

Düzenlendi: Google Android için SDK'yı güncellediğinden beri, yeni derleme araçları bu sorunu çözüyor. Bu yüzden herkesi Pang tarafından aşağıdaki gönderide önerildiği gibi Android SDK Build-tools 20'ye güncelleme yapmaya teşvik ettim .


1
Dosyanın bir kopyası olmalı ve OSX'te sembolik bir bağlantı olmamalıdır. Bir sym-link kullandım (ki bu genellikle yeterlidir) ve hala bulunamadı.
SnowInferno

7
- sdk \ build-tools \ 20.0.0
shimi_tap

13
Exe'yi başka bir dizinden kopyalamayın. SDK Derleme araçları v20'yi yüklemek için SDK Yöneticisini kullanın
darksider474

2
Ant build-release kullanırken, project.properties'e sdk.buildtools = 19.1.0 veya = 20.0.0 eklenmelidir. Ayrıca, zipalign özelliklerinin ANT build.xml dosyasında sağ araç zinciri sürümünü gösterecek şekilde değiştirildiğini unutmayın.
david

10
Bazı cevaplarda belirtildiği gibi Android SDK Build-tools Rev. 20'yi yüklemeniz gerekiyor. Yaptım. Ama yine de aynı hatayı alıyorum. Sonra Zipalign'ı "sdk / build-tools / 20.0.0" dan "sdk / tools /" klasörüne kopyalamam gerekiyor
Kevin

96

Android SDK Build-tools 20'yi yükleyerek düzelttim:

In EclipseÇekme Aşağı MenüPencereAndroid SDK Müdürü , kontrol Android SDK Yap-araçları Rev. 20 , ardından Install n paket (ler) ... yüklemeye başlamak için düğmeye.


26
Bunu yaptıktan sonra tutulmayı yeniden başlatmak zorunda kaldım
Cigogne Eveillée

Rev. 23.0.0 bu sorunu düzeltin ... Son derleme için kullanışlıdır
Zala Janaksinh

20

Yüklerseniz kullanılabilir hale gelir

Android SDK Build-tools Rev.20

8

Bunun için sadece bir video yapmaya karar verdim ... Bunu araçlara yapıştırmaya devam ettim ama ne yazık ki bu benim için işe yaramadı. Onu platform araçlarına ve hemen yayıncılığa taşıdım ... daha sonra tutulmayı yeniden başlatmalı.

Eksik zipalign'ı düzeltme eğitimi


1
Harika video teşekkürler, benim için platform araçlarına değil araçlara zipalign ekleyerek çalıştı
shimi_tap

Bu bağlantı bana yardımcı oldu, ancak zipalign.exe dosyasını derleme araçlarından platform araçlarına taşımak yerine, derleme araçları klasörünü PATH env
Paul Samsotha

8

Zipalign'ın tam yolunu kullandım. Mac için, yürütülebilir dosyayı Finder'da buldum ve üzerine tıkladım. Sonra uygulamamı yayınlamak için çalıştırdım

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

onun yerine

zipalign -v 4 HelloWorld-release-unsigned.apk HelloWorld.apk

2
Windows için (zipalign yolum): Örneğim 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'
Nadim

8

Mac / Linux:

Bu benim için çalıştı ( 22.0.1'i derleme araçlarınızın sürümüyle değiştirmek isteyebilirsiniz ):

Düzenle: ~ / .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

Ve koş:

source ~/.bashrc

veya sadece terminali kapatın ve yeniden başlatın.


sadece bir düzenleme: son satırdaki "dışa aktarımı" kaçırdınız. :-)
Manan Shah

7

Mac'te şunları yaptım:

  1. O / s'de bulun (19 ve 20 için oluşturma araçlarını zaten indirmiştim)

  2. İnternetteki uygulamalara izin vermek için Ctrl-Aç tuşlarına basın

  3. Sdk / build-tools / android-4.4W klasöründen sdk / tools / klasörüne taşıyın. Whew.


4

20'ye SDK güncellemesi, derleme ve platform araçlarının sürüm 20'si ve sdk geçiş ücretlerinin 23'ü ile Google birçok şeyi taşıdı.

Gradle (Android Studio kullanıyorsanız), ancak şimdilik hile yapmak için zipalignikiliyi kopyalayan diğer Cevaplarda belirtildiği gibi, bu değişiklikleri yansıtacak şekilde güncellenmedi /sdk/tools/.

GÜNCELLEME: Android Studio 0.8.1 piyasaya sürüldüğünden beri sorun çözülmüş görünüyor ...
sadece güncellemeniz gerekiyor build.gradleve tekrar düzgün çalışması gerekiyor

compileSdkVersion 20

buildToolsVersion "20.0.0"

targetSdkVersion 20

ve herhangi bir uyumluluk veya destek kitaplığı kullanıyorsanız

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

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


Açıklığa kavuşturmak gerekirse, ikili dosyayı android sdk klasörünüzden android stüdyonun sdk klasörüne taşıyın. Gibi: C: \ Program Files (x86) \ Android \ android-sdk \ tools \ zipalign.exe'den C: \ Program Files'a (x86) \ Android \ android-studio \ sdk \ tools \ zipalign.exe
Joshua G

google android stüdyosunu (0.8.1) güncelledi ve sorunlar artık bu yeni sürümde ortaya çıkmıyor
DooMMasteR

3

SDK yöneticisinde, "derleme araçlarını" kurup kurmadığını kontrol edin. Benimki varsayılan durumunda, bunu yapmadı.


3

Gradle kullanıyorsanız, ypur gradle eklentisini güncellemeniz yeterlidir!

Build.gradle'daki satırı şu şekilde değiştirin:

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

için:

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

Benim için çalışıyor.

BuildToolsVersion değişkeninin (benim için "20.0.0") derleme araçları sürümünüzle eşleşmesi gerektiğini unutmayın.

İyi şanslar :)


2

Android Studio 1.0 ile kullanmanız gerekir zipAlignEnabled true


1

Benim düzeltme gelen zipalign.exe kopyalama çalıştı birikmesi araçlar \ android-4.4W \ sdk için platform araçları \ sdk , digiboomz ile bağlantılı videoda gösterildiği gibi, ve \ sdk araçları kopyalayarak iş vermedi


1

Zipalign komutu Komut Satırında bulunamazsa, çevre değişkenlerine zipalign dosya yolunu ekleyin. Yukarıda belirtildiği gibi, exe dosyasının konumunu değiştirmek asla iyi değildir.

Windows kullanıcıları için:

a ekle User->PATH->"path to zipalign folder"

Benim durumumda yol öyleydi C:\adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-4.4W. Bu klasörde zipalign.exe var

Bu bağlantı, yolu belirlemenize ve anlamanıza yardımcı olabilir http://www.voidspace.org.uk/python/articles/command_line.shtml#path


1

Eclipse kullanıyorum ve bu bir güncelleme sırasında bozuldu. İşte yukarıdaki cevaplar işe yaramadığı için benim için işe yarayan şey.
Karıncanın build.xml'sinin zipalign.exe'yi bulmasının beklendiği yeri kontrol ettim.

İçinde: C:\Development\Android\android-sdk\tools\ant\build.xml zipalign şu şekilde tanımlanır:

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

beklenen olduğunu gösterir:

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

Bu dizin, "Android SDK Yöneticisi" nde kurulu olarak görüntülenen "Android SDK Derleme araçları" nın en yüksek sürümüne karşılık gelir. Yani, zipalign.exe'yi kopyaladığım yer (bir Android Studio kurulumundan edindim!) Ve imzalı uygulamalar şimdi otomatik olarak yeniden zipalign oluyor!


1

Yönetici olarak RUN @ SDK Manager.exe C: \ Program Files \ Android SDK dizininde çözüldü

Bundan sonra herhangi bir depoda güncellenmiş derleme araçları alacaksınız


1

Bunu düzeltmek için adımlar,

  1. Android SDK Build-Tools'un en son sürümünü yükleyin
  2. Zipalign.exe dosyasının android-sdk \ build-tools \ örn. Android-sdk \ build-tools \ 21.1.0 \ klasöründe bulunup bulunmadığını kontrol edin
  3. Android'in bazı eski sürümlerinde zipalign.exe'yi bulamayabilirsiniz. Panik yapmayın, zipalign'ın mevcut olduğu diğer versiyonları kontrol edin.
  4. Project.properties dosyanızı açın ve derleme araçlarını zipalign.exe dosyasının mevcut olduğunu gösterecek şekilde yapılandırın. örneğin sdk.buildtools = 21.1.0.
  5. Tutulmanızı yeniden başlatın ve tekrar dışa aktarmayı deneyin. İşe yaramalı.

1

OSX 10.10.5 yüklü bir mac'ta, Android Studio ve SDK yüklü yol

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

1

Zipalign gradle görevi, Gradle için Android Eklentisi, Revizyon 2.2.0'dan (Eylül 2016) itibaren kullanımdan kaldırılmıştır.

Kullanmaya devam etmek istiyorsanız, gradle.properties dosyanıza android.useOldPackaging = true ekleyin.

Ayrıntılı açıklama için burayı tıklayın .

Tek bir görevde sıkıştırma, imzalama ve zipaligning işlemlerini gerçekleştiren yeni bir varsayılan paketleme ardışık düzenini benimseyerek derleme performansını artırır. Gradle.properties dosyanıza android.useOldPackaging = true ekleyerek eski paketleme araçlarını kullanmaya geri dönebilirsiniz. Yeni paketleme aracını kullanırken zipalignDebug görevi kullanılamaz. Ancak createZipAlignTask (String taskName, File inputFile, File outputFile) yöntemini çağırarak kendiniz bir tane oluşturabilirsiniz. APK imzalama, artık geleneksel JAR imzalamaya ek olarak APK Signature Scheme v2'yi kullanıyor. Tüm Android platformları ortaya çıkan APK'ları kabul eder. İmzalamadan sonra bu APK'larda yapılacak herhangi bir değişiklik, v2 imzalarını geçersiz kılar ve bir cihaza yüklenmesini engeller. blockquote


0

zipalignkonumuna taşındı build-tools\19.1.0ve build-tools\20.0.0hedef SDK'nıza bağlı olarak bunlardan birini kullanmanız gerektiğini varsayıyorum


0

Android SDK Platformunu (4.4W) kaldırıp yeniden yükleyerek düzelttim. Kurulumdan sonra Eclipse'i de yeniden başlattım.


0

Benim durumumda SDK Build Tools 20 zaten kurulmuştu. Zipalign.exe'yi Araçlar klasörüne kopyaladım ancak başarılı olamadım.

Bundan sonra eski klasörü kaldırmadan veya yeniden adlandırmadan Eclipse'i güncellediğimi fark ettim.

Ben de yaptım:

1) Eski Eclipse klasörü yeniden adlandırıldı 2) Eclipse yeniden başlatıldı

Eclipse, Android tercihlerini düzeltmesini istedi çünkü sorun hala eski klasörü kullanmaya çalışan Eclipse idi.


0

Google bu hatayı derleme araçları sürümüyle düzeltiyor: 23.0.3 Artık zipalign düzgün bir şekilde paketlendi ve her şey yolunda gidiyor.


0

Normalde zipalign.exe, "Android yöneticisine" yakındır (ayrıca "Android", "Android SDK" vb.), Böylece Windows aramasında "Android Yöneticisi" ni arayabilir ve komutun yukarısına sağ tıklayıp açabilirsiniz. dosya konumu . Muhtemelen şuradasınız : bir şey \ Android \ android-sdk \ tools . O zaman sadece bir klasörü iade edin ve Android \ android-sdk \ build-tools \ 23.0.3'e gidin . Zipalign tüm yolunu kopyalamak zorunda belki, çift tıklama ile kullanmak mümkün değildi olmak, orada zipalign kullanılmak üzere dosyanın CMD , son kod gibi bir şey olacak girişine sahip olduğunu:

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


0

Tamamen çaresiz kaldığımda, resmi zipalign.exe'yi bulmama izin veren aşağıdakileri yaptım . Kısa cevap, bağlantıyı resmi olarak kullanmaktır (ancak herkese açık değil :-) sitenin bir kısmı:

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

Bu makbuzu 2018'den sonra kullanırsanız, muhtemelen tam açıklamaya ihtiyacınız vardır:

  1. Android Studio'yu açın ve gidin

    Android Studio->Tools->Android->SDK Manager->Android SDK->SDK update site
  2. Metin düzenleyici bağlantısına yazın ve tarayıcıda açın. Benim durumumda ilk bağlantı benim için çalıştı:

    https://dl.google.com/android/repository/repository2-1.xml
  3. En son paket oluşturma araçlarını arayın. Benim durumumda, build-tools_r28-rc1-windows.zip idi , ancak zamanınızdaki en sonuncuyu bulabilirsiniz

    Ctrl+F build-tools_
  4. Yaptığım gibi, URL'deki son bölümü bulunan paket adıyla değiştirin:

    https://dl.google.com/android/repository/build-tools_r28-rc1-windows.zip
  5. Paketi indirin, açın ve neyse ki resmi dosyayı bulun:

    zipalign.exe

Size yardımcı oluyorsa, geri bildiriminiz memnuniyetle karşılanır.


Android Studio-> Araçlar-> Android-> SDK Yöneticisi-> Android SDK -> SDK Araçları -> "Android SDK Build-Tools 28-rc1" i işaretleyin , sonra uygulayın , derleme araçlarını yükleyeceksiniz ve zipalign'ı bulabilirsiniz. exe SDK \ build-tools \ 28.0.0-rc1 içinde yüklendikten sonra.
Richard Chan

Haklısın, kurulmalı ama benim durumumda kurulmamış. Kontrol ettim. Bu tarif, tüm denemelerden sonra bu dosyaya sahip olmayanlar içindir.
Roman

0

Bunu yaparak bu sorunu çözdüm:

Android Studio> Tercihler> SDK Araçları'nı açın ve "Android SDK Oluşturma Araçları" nı işaretleyin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.