首页 文章

发布应用时无法找到zip-align

提问于
浏览
120
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工具的最新版本(今天发布了23个)和SDK平台工具(今天也发布了20个) . 我得到了一个APK,但如果我尝试将其上传到Google Play,我会收到一个错误,抱怨它不是拉链对齐的 .

运行zipalign手动修复apk,但是有谁知道是什么原因造成的,以及如何修复它?

24 回答

  • 3

    解决这个问题的步骤,

    • 安装最新版本的Android SDK Build-Tools

    • 检查zipalign.exe是否在android-sdk \ build-tools \文件夹中可用Android的SDK \集结工具\ 21.1.0 \

    • 在某些较旧版本的Android中,您可能找不到zipalign.exe . 不要惊慌,检查任何其他版本的zipalign可用 .

    • 打开project.properties文件并配置build-tools以指向zipalign.exe所在的位置 . 例如sdk.buildtools = 21.1.0 .

    • 重新启动eclipse并再次尝试导出 . 它应该工作 .

  • 3

    我使用Eclipse,这在更新期间中断了 . 这对我有用,因为上面的答案没有 .
    我检查了ant的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
    

    此目录对应于“Android SDK Manager”中安装的“Android SDK Build-tools”的最高版本 . 所以,这就是我复制zipalign.exe(我从Android Studio安装中获得的!)和已签名的应用程序现在再次自动压缩的地方!

  • 5

    我有同样的问题 . 为了解决这个问题,我将Zipalign文件从sdk / build-tools / android-4.4W文件夹复制到sdk / tools /

    Edited: 自谷歌更新Android版SDK以来,新的构建工具确实解决了这个问题 . 所以我鼓励大家按照Pang在下面的帖子中的建议更新到 Android SDK Build-tools 20 .

  • 0

    我通过安装Android SDK Build-tools 20修复了它:

    EclipsePull Down MenuWindowAndroid SDK Manager 中,选中 Android SDK Build-tools Rev. 20 ,然后单击 Install n package(s)… 按钮开始安装 .

  • 0

    如果安装它就可以使用了

    Android SDK Build-tools Rev.20
    
  • 96

    我决定只为这个制作一个视频..我一直把它粘贴到工具中,但唉,这对我来说不起作用 . 我把它移到了平台工具上,然后马上发布了 . 之后必须重启eclipse .

    Tutorial for fixing missing zipalign

  • 1

    我使用了zipalign的完整路径 . 对于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

    在Mac上,我做了以下事情:

    • 在o / s上找到它(我已经下载了19和20的构建工具)

    • 按Ctrl-Open以允许来自互联网的应用

    • 将它从sdk / build-tools / android-4.4W文件夹移动到sdk / tools / . 呼 .

  • 1

    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
    

    或者只是关闭终端并再次启动它 .

  • 1

    随着SDK更新到20,构建和平台工具的第20版以及23个sdk通行费,谷歌已经移动了很多东西 .

    Gradle(如果您使用的是Android Studio)但是尚未更新以反映这些更改,如其他答案中所述,将 zipalign 二进制文件复制到 /sdk/tools/ 应该可以解决这个问题 .

    UPDATE: 自从Android Studio 0.8.1发布以来,问题现在似乎已修复......
    你只需要更新你的 build.gradle 它应该再次正常工作

    compileSdkVersion 20

    buildToolsVersion "20.0.0"

    targetSdkVersion 20

    如果您使用任何compat或支持库

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

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

  • 8

    检查SDK管理器,它已经安装了“build-tools” . 我的默认状态,没有这样做 .

  • 8

    如果您使用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”)必须与您的构建工具版本匹配 .

    祝好运 :)

  • 1

    使用Android Studio 1.0,您必须使用 zipAlignEnabled true

  • 4

    我的修复工作将zipalign.exe从 sdk\build-tools\android-4.4W 复制到 sdk\platform-tools ,如digiboomz链接的视频和 did not work copying it in sdk\tools 所示

  • 221

    如果在命令行中找不到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

  • 20

    我在目录C:\ Program Files \ Android SDK中以管理员@您的SDK Manager.exe通过RUN解决

    之后,您将获得更新的构建工具和任何存储库

  • 0

    自从Gradle的Android插件修订版2 . 2 . 0(2016年9月)以来,Zipalign gradle任务已被弃用 .

    如果要继续使用它,请将android.useOldPackaging = true添加到gradle.properties文件中 .

    单击here以获取详细说明 .

    通过采用新的默认打包管道来改进构建性能,该管道在一个任务中处理压缩,签名和压缩签名 . 您可以通过将android.useOldPackaging = true添加到gradle.properties文件来恢复使用旧的打包工具 . 使用新的打包工具时,zipalignDebug任务不可用 . 但是,您可以通过调用createZipAlignTask(String taskName,File inputFile,File outputFile)方法自己创建一个 . 除了传统的JAR签名之外,APK签名现在使用APK签名方案v2 . 所有Android平台都接受生成的APK . 签名后对这些APK的任何修改都会使其v2签名无效并阻止在设备上安装 . 大段引用

  • 0

    zipalign 已移至 build-tools\19.1.0build-tools\20.0.0 ,我假设您应使用其中一个取决于您的目标SDK

  • 1

    我通过卸载Android SDK Platform(4.4W)修复它,然后重新安装它 . 我在安装后也重新启动了Eclipse .

  • 1

    在我的情况下,SDK Build Tools 20已经安装 . 我在工具文件夹中复制了zipalign.exe但没有成功 .

    之后我注意到我更新了Eclipse而没有删除或重命名旧文件夹 .

    所以我做了:

    1)重命名旧的Eclipse文件夹2)重新启动Eclipse

    Eclipse要求更正Android首选项,因为问题是Eclipse,它仍在尝试使用旧文件夹

  • 0

    在使用OSX 10.10.5的Mac上安装Android Studio和SDK的路径是

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

    谷歌使用构建工具版本修复了这个错误:23.0.3现在zipalign打包正确,一切正常 .

  • 0

    通常,zipalign.exe已关闭"Android manager"(也是,"Android","Android SDK"等),因此您可以在Windows搜索中使用 search for "Android Manager" 并在命令和 open file location 上方给出 righ-click . 你可能在:某事\ Android\android-sdk\tools . 然后只需要返回一个文件夹并转到 Android\android-sdk\build-tools\23.0.3 . zipalign就在那里,您可能无法双击使用它,因此您必须复制 zipalign 文件的所有路径以在 CMD 中使用,您必须输入的最终代码将是:

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

  • 0

    当我完全绝望时,我做了以下,这让我找到了 official zipalign.exe . 简短的回答是使用网站官方(但不公开:-)部分的链接:

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

    如果您在2018年之后使用此收据,您可能需要完整的解释:

    • 打开Android Studio然后去吧
    Android Studio->Tools->Android->SDK Manager->Android SDK->SDK update site
    
    • 在文本编辑器链接中写入并在浏览器中打开它 . 在我的情况下,第一个链接为我工作:
    https://dl.google.com/android/repository/repository2-1.xml
    
    • 寻找最新的包构建工具 . 就我而言,它是build-tools_r28-rc1-windows.zip,但你可以找到你最新的时间
    Ctrl+F build-tools_
    
    • 在URL中替换包含找到的包名称的最后一部分,就像我做的那样:
    https://dl.google.com/android/repository/build-tools_r28-rc1-windows.zip
    
    • 下载软件包,解压缩,幸运的是找到官方文件:
    zipalign.exe
    

    如果它对您有所帮助,那么您的反馈就会很好 .

相关问题