không thể tìm thấy zip-align khi xuất bản ứng dụng


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.

Đây là tin nhắn tôi nhận được khi tôi cố gắng xuất bản ứng dụng của mình. Tôi đang sử dụng phiên bản mới nhất của Công cụ SDK Android (23 được phát hành ngày hôm nay) và SDK Platform-tools (20 cũng được phát hành ngày hôm nay). Tôi đã nhận được một APK từ nó, nhưng nếu tôi cố tải nó lên Google Play, tôi đã gặp một lỗi phàn nàn rằng nó không được liên kết zip.

Chạy zipalign tự sửa apk, nhưng có ai biết nguyên nhân gây ra lỗi này không và cách khắc phục?


7
Các công cụ sdk mới nhất (23) chưa được đóng gói đúng cách. Vấn đề phải đối mặt với nhiều công cụ trên phiên bản này.
Gặp gỡ

Câu trả lời:


223

Tôi đã từng gặp vấn đề tương tự. Và để sửa nó, tôi sao chép tệp Zipalign từ thư mục sdk / build-tools / android-4.4W sang sdk / tools /

Đã chỉnh sửa: Kể từ khi Google cập nhật SDK cho Android, các công cụ xây dựng mới sẽ khắc phục vấn đề này. Vì vậy, tôi khuyến khích mọi người cập nhật lên Android SDK Build-tools 20 theo đề xuất của Pang trong bài viết dưới đây.


1
Nó phải là một bản sao của tệp và không phải là một liên kết tượng trưng trong OSX. Tôi đã sử dụng một sym-link (thường là đủ) và nó vẫn không được tìm thấy.
SnowInferno

7
Tôi đã tìm thấy nó bên dưới - sdk \ build-tools \ 20.0.0
shimi_tap

13
Đừng sao chép exe từ thư mục khác. Sử dụng Trình quản lý SDK để cài đặt các công cụ SDK Build v20
darksider474

2
Khi sử dụng ant build-release, người ta cần thêm sdk.buildtools = 19.1.0 hoặc = 20.0.0 vào project.properies. Cũng lưu ý rằng bộ thuộc tính zipalign đã được thay đổi trong tệp xây dựng ANT để trỏ đến phiên bản chuỗi công cụ righ.
David

10
Như đã đề cập trong một số câu trả lời mà bạn cần để cài đặt Android SDK Build-tools Rev. 20. Tôi đã làm. Nhưng vẫn nhận được lỗi tương tự. Sau đó, tôi phải sao chép Zipalign từ "sdk / build-tools / 20.0.0" sang "sdk / tools /"
Kevin

96

Tôi đã sửa nó bằng cách cài đặt Android SDK Build-tools 20:

Trong EclipseMenu kéo xuốngCửa sổTrình quản lý SDK Android , kiểm tra các công cụ xây dựng SDK Android Rev. 20 , sau đó nhấp vào nút Cài đặt gói n để bắt đầu cài đặt.


26
Tôi đã phải khởi động lại nhật thực sau khi làm điều này
Cigogne Eveillée

Rev. 23.0.0 khắc phục sự cố này ... Nó hữu ích cho bản dựng mới nhất
Zala Janaksinh

20

Nó có thể sử dụng được nếu bạn cài đặt

Android SDK Build-tools Rev.20

8

Tôi quyết định chỉ làm một video cho việc này..Tôi cứ dán nó vào các công cụ nhưng than ôi nó không hiệu quả với tôi. Tôi đã chuyển nó sang công cụ nền tảng và xuất bản voila ngay lập tức..chỉ cần khởi động lại nhật thực sau đó.

Hướng dẫn sửa lỗi zipalign bị thiếu


1
Video tuyệt vời cảm ơn, đối với tôi nó đã hoạt động bằng cách thêm zipalign vào các công cụ chứ không phải công cụ nền tảng
shimi_tap

Liên kết này đã giúp tôi, nhưng thay vì chuyển zipalign.exe từ các công cụ xây dựng sang các công cụ nền tảng, tôi chỉ thêm thư mục công cụ xây dựng vào PATH env
Paul Samsotha 13/03/2016

8

Tôi đã sử dụng đường dẫn đầy đủ của zipalign. Đối với mac, tôi tìm thấy tệp thực thi trong Finder và nhấp vào nó. Sau đó, để xuất bản ứng dụng của tôi, tôi đã chạy

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

thay vì

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

2
Đối với cửa sổ (đường dẫn zipalign của tôi): C:\Users\Machine\AppData\Local\Android\Sdk\build-tools\27.0.3\zipalign.exe Ví dụ cmd của tôi& '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:

Điều này làm việc cho tôi (bạn có thể muốn thay thế 22.0.1 bằng phiên bản công cụ xây dựng của mình):

Chỉnh sửa: ~ / .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

Và chạy:

source ~/.bashrc

hoặc chỉ đóng thiết bị đầu cuối và bắt đầu lại.


chỉ một chỉnh sửa: bạn đã bỏ lỡ "xuất" trong dòng cuối cùng. :-)
Manan Shah

7

Trên máy Mac, tôi đã làm như sau:

  1. Tìm nó trên o / s (Tôi đã tải xuống các công cụ xây dựng cho 19 và 20)

  2. Nhấn Ctrl-Open để cho phép các ứng dụng từ internet

  3. Di chuyển nó từ thư mục sdk / build-tools / android-4.4W sang sdk / tools /. Phù


4

Với bản cập nhật SDK lên 20, phiên bản 20 của các công cụ xây dựng và nền tảng và 23 phí sử dụng sdk, Google đã chuyển đi rất nhiều thứ.

Gradle (nếu bạn đang sử dụng Android Studio) tuy nhiên chưa được cập nhật để phản ánh những thay đổi đó, như đã nêu trong các Câu trả lời khác sao chép zipalignnhị phân để /sdk/tools/thực hiện thủ thuật cho đến bây giờ.

CẬP NHẬT: kể từ khi Android Studio 0.8.1 được phát hành, vấn đề có vẻ đã được khắc phục ngay bây giờ,
bạn chỉ cần cập nhật build.gradlevà nó sẽ hoạt động tốt trở lại

compileSdkVersion 20

buildToolsVersion "20.0.0"

targetSdkVersion 20

và nếu bạn sử dụng bất kỳ thư viện compat hoặc hỗ trợ

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

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


Điểm cần làm rõ, di chuyển nhị phân từ thư mục sdk Android của bạn sang thư mục sdk của studio android. Giống như: C: \ Chương trình tệp (x86) \ Android \ android-sdk \ tools \ zipalign.exe đến C: \ Chương trình tệp (x86) \ Android \ android-studio \ sdk \ tools \ zipalign.exe
Joshua G

google đã cập nhật studio android (0.8.1) và các sự cố không còn xảy ra nữa với phiên bản mới hơn này
DooMMasteR

3

Kiểm tra trình quản lý SDK, nó đã cài đặt "công cụ xây dựng". Của tôi ở trạng thái mặc định, đã không làm điều này.


3

Nếu bạn đang sử dụng gradle chỉ cần cập nhật plugin ypur gradle!

Thay đổi dòng trong build.gradle từ:

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

đến:

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

Nó làm việc cho tôi.

Lưu ý rằng biến buildToolsVersion (đối với tôi "20.0.0") phải phù hợp với phiên bản công cụ xây dựng của bạn.

Chúc may mắn :)


2

Với Android Studio 1.0, bạn phải sử dụng zipAlignEnabled true


1

Khắc phục của tôi đã hoạt động sao chép zipalign.exe từ sdk \ build-tools \ android-4.4W sang sdk \ platform-tools , như được hiển thị trong video được liên kết bởi digiboomz và không hoạt động sao chép nó trong sdk \ tools


1

Nếu không tìm thấy lệnh zipalign từ Command-Line, hãy thêm đường dẫn tệp của zipalign vào các biến môi trường. Như đã đề cập ở trên, không bao giờ tốt để thay đổi vị trí tệp exe.

Đối với người dùng Windows:

Thêm vào User->PATH->"path to zipalign folder"

Trong trường hợp của tôi, nó là con đường C:\adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-4.4W. Trong thư mục đó là zipalign.exe

Liên kết này có thể giúp bạn thiết lập đường dẫn và hiểu nó http://www.voidspace.org.uk/python/articles/command_line.shtml#path


1

Tôi sử dụng Eclipse và điều này đã bị hỏng trong một bản cập nhật. Đây là những gì làm việc cho tôi như câu trả lời ở trên không.
Tôi đã kiểm tra nơi build build của kiến ​​dự kiến ​​sẽ tìm thấy zipalign.exe.

Trong: C:\Development\Android\android-sdk\tools\ant\build.xml zipalign được định nghĩa là:

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

trong đó chỉ ra dự kiến ​​của nó trong:

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

Thư mục này tương ứng với phiên bản cao nhất của 'Công cụ xây dựng SDK Android' được hiển thị như được cài đặt trong 'Trình quản lý SDK Android'. Vì vậy, đó là nơi tôi đã sao chép zipalign.exe (mà tôi đã nhận được từ bản cài đặt Android Studio!) Và các ứng dụng đã ký hiện được tự động chỉnh sửa lại!


1

tôi đã giải quyết bằng RUN với tư cách Quản trị viên @ SDK Manager.exe của bạn trong thư mục C: \ Program Files \ Android SDK

sau đó bạn sẽ nhận được các công cụ xây dựng cập nhật một kho lưu trữ bất kỳ


1

Các bước để khắc phục điều này,

  1. Cài đặt phiên bản mới nhất của Android SDK Build-Tools
  2. Kiểm tra xem zipalign.exe có khả dụng trong thư mục android-sdk \ build-tools \ eg android-sdk \ build-tools \ 21.1.0 \
  3. Trong một số phiên bản cũ hơn của Android, bạn có thể không tìm thấy zipalign.exe. Đừng hoảng sợ, hãy kiểm tra bất kỳ verion nào khác trong đó zipalign có sẵn.
  4. Mở tệp project.properIES của bạn và định cấu hình các công cụ xây dựng để trỏ đến nơi có zipalign.exe. ví dụ: sdk.buildtools = 21.1.0.
  5. Khởi động lại nhật thực của bạn và thử xuất lại. Nó nên hoạt động.

1

Trên máy Mac có OSX 10.10.5, Android Studio và SDK đã cài đặt đường dẫn là

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

1

Nhiệm vụ lớp Zipalign không được chấp nhận kể từ Plugin Android cho Gradle, Phiên bản 2.2.0 (tháng 9 năm 2016).

Nếu bạn muốn tiếp tục sử dụng nó, hãy thêm android.useOldPackaging = true vào tệp gradle.properIES của bạn.

Nhấn vào đây để giải thích chi tiết.

Cải thiện hiệu suất xây dựng bằng cách áp dụng một đường ống đóng gói mặc định mới xử lý nén, ký và zipaligning trong một nhiệm vụ. Bạn có thể trở lại sử dụng các công cụ đóng gói cũ hơn bằng cách thêm android.useOldPackaging = true vào tệp gradle.properIES của bạn. Trong khi sử dụng công cụ đóng gói mới, tác vụ zipalignDebug không khả dụng. Tuy nhiên, bạn có thể tự tạo một cái bằng cách gọi phương thức createZipAlignTask (String taskName, File inputFile, File outputFile). Việc ký APK hiện sử dụng APK Signature Scheme v2 bên cạnh việc ký JAR truyền thống. Tất cả các nền tảng Android chấp nhận APK kết quả. Mọi sửa đổi đối với các APK này sau khi ký sẽ làm mất hiệu lực chữ ký v2 của chúng và ngăn cài đặt trên thiết bị. Blockquote


0

zipalignđã được chuyển đến build-tools\19.1.0build-tools\20.0.0, tôi cho rằng bạn nên sử dụng một trong số chúng phụ thuộc vào SDK mục tiêu của bạn


0

Tôi đã sửa nó bằng cách gỡ cài đặt Android SDK Platform (4.4W) và sau đó cài đặt lại. Tôi cũng đã khởi động lại Eclipse sau khi cài đặt.


0

Trong trường hợp của tôi, SDK Build Tools 20 đã được cài đặt. Tôi đã sao chép zipalign.exe trong thư mục Công cụ nhưng không thành công.

Sau đó tôi nhận thấy rằng tôi đã cập nhật Eclipse mà không xóa hoặc đổi tên thư mục cũ.

Tôi cũng vậy:

1) Đổi tên thư mục Eclipse cũ 2) Đã khởi động lại Eclipse

Eclipse yêu cầu sửa các tùy chọn Android vì vấn đề là Eclipse, vẫn đang cố sử dụng thư mục cũ


0

Google sửa lỗi này với phiên bản công cụ xây dựng: 23.0.3 Bây giờ zipalign được đóng gói đúng cách và mọi thứ đều hoạt động tốt.


0

Thông thường, zipalign.exe gần với "Trình quản lý Android" (cũng là "Android", "SDK Android", v.v.), vì vậy bạn có thể tìm kiếm "Trình quản lý Android" trong tìm kiếm trên windows và nhấp chuột vào phía trên lệnh và mở vị trí tập tin . Bạn có thể đang ở: một cái gì đó \ Android \ android-sdk \ tools . Sau đó, chỉ cần trả lại một thư mục và đi tới Android \ android-sdk \ build-tools \ 23.0.3 . Zipalign ở đó, bạn có thể không thể sử dụng nó bằng cách nhấp đúp, vì vậy bạn phải sao chép tất cả đường dẫn của tệp zipalign để sử dụng trong CMD , mã cuối cùng mà bạn phải nhập sẽ giống như:

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


0

Khi tôi hoàn toàn tuyệt vọng, tôi đã làm như sau, điều đó cho phép tôi tìm zipalign.exe chính thức . Câu trả lời ngắn gọn là sử dụng liên kết từ chính thức (nhưng không công khai :-) một phần của trang web:

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

Nếu bạn sử dụng phần giới thiệu này sau năm 2018, có lẽ bạn cần giải thích đầy đủ:

  1. Mở Android Studio và đi

    Android Studio->Tools->Android->SDK Manager->Android SDK->SDK update site
  2. Viết trong liên kết trình soạn thảo văn bản và mở nó trong trình duyệt. Trong trường hợp của tôi, liên kết đầu tiên làm việc cho tôi:

    https://dl.google.com/android/repository/repository2-1.xml
  3. Tìm kiếm các công cụ xây dựng gói mới nhất. Trong trường hợp của tôi, đó là build-tools_r28-rc1-windows.zip , nhưng bạn có thể tìm thấy bản mới nhất trong thời gian của mình

    Ctrl+F build-tools_
  4. Thay thế trong URL phần cuối cùng với tên gói được tìm thấy như tôi đã làm:

    https://dl.google.com/android/repository/build-tools_r28-rc1-windows.zip
  5. Tải xuống gói, giải nén nó và may mắn tìm thấy tập tin chính thức:

    zipalign.exe

Nếu nó giúp bạn, phản hồi của bạn là tốt.


Android Studio-> Công cụ-> Android-> Trình quản lý SDK-> SDK Android -> Công cụ SDK -> kiểm tra "Công cụ xây dựng SDK Android 28-rc1" , sau đó áp dụng bạn sẽ cài đặt công cụ xây dựng và bạn có thể tìm thấy zipalign. exe trong SDK \ build-tools \ 28.0.0-rc1 sau khi cài đặt.
Richard Chan

Bạn đã đúng, Nó nên được cài đặt, nhưng không được cài đặt trong trường hợp của tôi. Tôi đã kiểm tra. Công thức này dành cho những người không có tệp này sau tất cả các lần thử.
La Mã

0

Tôi đã khắc phục vấn đề này bằng cách thực hiện việc này:

Mở Android Studio> Tùy chọn> Công cụ SDK và kiểm tra "Công cụ xây dựng SDK Android"

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.