发布应用程序时找不到zip-align
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,我得到了一个错误,抱怨说它没有alignment。
运行zipalign手动修复apk,但没有人知道是什么原因造成的,以及如何解决它?
我有同样的问题。 并修复它,我从sdk / build-tools / android-4.4W文件夹复制Zipalign文件到sdk / tools /
编辑:由于Google更新了SDK for Android,新的构build工具确实解决了这个问题。 所以我鼓励大家按照Pang在下面的post中的build议更新到Android SDK构build工具20 。
我通过安装Android SDK Build-tools 20来修复它:
在Eclipse → 下拉菜单 → 窗口 → Android SDKpipe理器中 ,选中Android SDK Build-tools Rev. 20 ,然后点击Install n package(s)…button开始安装。
如果你安装它变得可用
Android SDK Build-tools Rev.20
我决定为这个做一个video..我一直粘贴到工具,但唉,这不适合我。 我把它移动到平台工具和瞧发布立即..必须重新启动日食之后。
修复缺lesszipalign的教程
在Mac上,我做了以下操作:
-
在o / s上find它(我已经下载了19和20的构build工具)
-
按Ctrl-Open允许来自互联网的应用程序
-
将其从sdk / build-tools / android-4.4W文件夹移至sdk / tools /。 呼。
我使用了zipalign的完整path。 对于mac,我在Finder中find可执行文件并点击它。 然后,发布我的应用程序,我跑了
/Users/username/development/sdk/tools/zipalign -v 4 HelloWorld-release-unsigned.apk HelloWorld.apk
代替
zipalign -v 4 HelloWorld-release-unsigned.apk HelloWorld.apk
Mac / Linux:
这对我有用 (你可能想用你的构build工具的版本replace22.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
或者closuresterminal并重新启动。
随着SDK更新到20版本,构build和平台工具的版本20和sdk收费的23,谷歌已经移动了很多东西。
Gradle(如果您正在使用Android Studio)尚未更新以反映这些更改,如其他答案中所述,将zipalign
二进制文件复制到/sdk/tools/
应该执行此技巧。
更新:自从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.+'
检查SDKpipe理器,它已经安装了“构build工具”。 在它的默认状态下,没有这样做。
如果你正在使用gradle只是更新ypur gradle插件!
将build.gradle中的行更改为:
classpath 'com.android.tools.build:gradle:0.9.+'
至:
classpath 'com.android.tools.build:gradle:0.11.+'
这个对我有用。
请注意,variablesbuildToolsVersion(对于我“20.0.0”)必须匹配您的版本的构build工具。
祝你好运 :)
使用Android Studio 1.0,您必须使用zipAlignEnabled true
我的修复工作从sdk \ build-tools \ android-4.4W复制zipalign.exe到sdk \ platform-tools ,如digiboomz链接的video所示,并且不能在sdk \ tools中复制
如果zipalign命令没有从命令行添加到环境variableszipalign的文件path。 如上所述,改变exe文件位置永远不会好。
对于Windows用户:
添加到User->PATH->"path to zipalign folder"
在我的情况下,它的path是C:\adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-4.4W
。 在那个文件夹中是zipalign.exe
这个链接可以帮助你设置path和理解它http://www.voidspace.org.uk/python/articles/command_line.shtml#path
我使用Eclipse,并在更新期间中断。 上面的答案没有。
我检查了ant的build.xml,希望findzipalign.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 SDKpipe理器”中的“Android SDK Build-tools”的最高版本。 所以,这就是我复制zipalign.exe(我从Android Studio安装中获得!)和签名的应用程序现在自动再次zipaligned!
我以pipe理员@你的SDK Manager.exe在目录C:\ Program Files \ Android SDK中运行
之后,你会得到更新的构build工具任何存储库
解决这个问题的步骤,
- 安装最新版本的Android SDK Build-Tools
- 检查zipalign.exe文件是否可用android-sdk \ build-tools \例如android-sdk \ build-tools \ 21.1.0 \
- 在一些旧版本的android中,您可能找不到zipalign.exe。 不要惊慌,检查zipalign可用的任何其他verion。
- 打开你的project.properties文件并configuration构build工具来指向zipalign.exe的存在位置。 例如sdk.buildtools = 21.1.0。
- 重新启动你的Eclipse并尝试再次导出。 它应该工作。
从Android插件for Gradle修订版2.2.0(2016年9月)开始,Zipalign gradle任务已被弃用。
如果您想继续使用它,请将android.useOldPackaging = true添加到您的gradle.properties文件中。
点击这里查看详细的解释。
通过采用新的默认打包pipe道,在一个任务中处理压缩,签名和zipaligning,从而提高构build性能。 您可以通过将android.useOldPackaging = true添加到您的gradle.properties文件来恢复使用较旧的打包工具。 在使用新的打包工具时,zipalignDebug任务不可用。 但是,您可以通过调用createZipAlignTask(String taskName,File inputFile,File outputFile)方法自己创build一个。 除了传统的JAR签名外,APK现在使用APK签名schemev2。 所有Android平台都接受所产生的APK。 签名后对这些APK的任何修改将使其v2签名无效,并阻止在设备上进行安装。 大段引用
zipalign
被转移到build-tools\19.1.0
和build-tools\20.0.0
,我想你应该使用其中的一个取决于你的目标SDK
我通过卸载Android SDK平台(4.4W),然后重新安装。 安装完成后,我也重启了Eclipse。
在我的情况下,SDK Build Tools 20已经安装。 我在Tools文件夹中复制了zipalign.exe,但没有成功。
之后,我注意到我更新了Eclipse,而不删除或重命名旧的文件夹。
所以我做了:
1)重命名旧的Eclipse文件夹2)重新启动Eclipse
Eclipse要求更正Android首选项,因为问题是Eclipse,那仍然试图使用旧的文件夹
在OS X 10.10.5的Mac上,安装了Android Studio和SDK的path是
/Users/mles/Library/Android/sdk/build-tools/23.0.1/zipalign
Google使用构build工具版本修正了这个错误:23.0.3现在zipalign被正确打包,并且一切正常。
通常zipalign.exe是“Androidpipe理器”(也就是“Android”,“Android SDK”等)的closures,所以你可以在Windowssearch中search“Android Manager” ,并在命令上方右击并打开文件位置 。 您可能位于:\ android \ android-sdk \ tools 。 然后只需要返回一个文件夹,然后转到Android \ android-sdk \ build-tools \ 23.0.3 。 zipalign在那里,你可能不能使用它双击,所以你必须复制所有在CMD中使用的zipalign文件的path,你必须input的最终代码是这样的:
C:\ Users \ heitor \ AppData \ Local \ Android \ android-sdk \ build-tools \ 23.0.1 \ zipalign.exe -v 4 android.apk android2.apk