运行zipalign时出错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运行zipalign时出错相关的知识,希望对你有一定的参考价值。
尝试在Eclipse中导出已签名的apk时出现此错误
运行zipalign时出错:无法打开zip存档
我运行了Help-> Check for Updates以确保安装了最新的更新,SDK工具也是最新的。
我收到了相同的错误消息。逼我疯狂,直到我发现我的目的地路径无效。
即使apk完全有效,Zipalign也会给你错误,但是
- apk的路径无效
- 目的地无效或不存在
- 权限无效(apk被其他程序锁定)
如果目标文件已存在并且由另一个进程打开,那么您将看到此错误。
解决方法:重命名目标文件,或关闭已打开文件的应用程序。
检查目标磁盘上的可用空间。我得到了相同的错误,因为我的磁盘已满:-)
在我的情况下,问题是utf-8命名文件夹。我把它改成英文并且工作了。我使用的是Windows 8 x64企业版。
当我在Windows资源管理器中打开我的项目的bin
文件夹时,这个问题就出现了。
然后我试图删除我的旧apk文件(Export
工具尝试覆盖失败),但我不能这样做,因为我没有必要的权限,或者因为其他一些进程锁定了文件。
解决方案是重新启动我的计算机,该计算机释放了apk文件上的锁定。然后Eclipse的Export
工具运行良好。
更新无法在Windows资源管理器或命令窗口中删除旧的apk文件(即使我用管理员权限打开它),但我可以在我的FileZilla
FTP客户端应用程序中查看它时删除apk。显然,这比重新启动计算机更方便。
zipalign
工具无法访问源文件,因此您应该验证路径,文件名,扩展名,权限...
添加我的解决方案:
我的问题是我的资产文件夹太大了,而且必须以某种方式搞乱拉链。我不得不删除资产文件夹中的文件(或将它们添加到_pre_production)。
这是你的错
您正尝试先设置或引用zipalign,然后运行zipalign -v 4 app-release-unsigned.apk HelloWorld.apk
不,这是你应该做的,设置zipalign引用并同时运行命令
像这样
/Users/s****/Library/android/sdk/build-tools/28.0.3/zipalign -v 4 app-release-unsigned.apk MyApp.apk
你的apk将立即建立。
我不得不从项目文件夹中运行cmd
C:\ Users \ User \ Documents \ phone app \ 7 \ proj7 \ platforms \ android \ build \ outputs \ apkandroid-release-unsigned.apk找到并在cmd C中输入:\ Users \ User \ AppData \ Local \ Android \ sdk \ build-tools \ 26.0.0 \ zipalign -v 4 android-release-unsigned.apk myApp-signed.apk
就我而言,在Linux(Mint)上,我必须手动设置zipalign的执行权限,然后它就像魅力一样。
对于mac
由于编码结果不匹配,您必须这样做:
- 打开eclipse.ini
- 添加
-Dfile.encoding=utf-8
我有同样的问题,是的,这是因为该工具无法识别路径。我使用了错误的斜杠,因为我从开发人员博客得到了不好的建议。
如果文件“origin.apk”位于C目录中名为“storage”的文件夹中,则采样行命令:
zipalign -f -v 4 “c:\storage\origin.apk” “c:\storage\done.apk”
确保你使用输入键上方的斜杠...我所看到的很多“例子”都使用了移位键的那个,这是行不通的。这将使用名为“origin.apk”的apk并对其进行zipalign,然后将其保存到与文件“done.apk”相同的目录中。
也许这只是在Vista上,我不知道。我使用的是32位Windows Vista。
在我的情况下,我从无符号apk的目录运行命令,它运行完美。
cd /platforms/android/build/outputs/apk
zipalign -v 4 android-release-unsigned.apk signed.apk
这样,我就不用担心指定目录了。
ps:我在ubuntu上做了这个。
我在Deploy目录中删除了apk文件,导出工作正常。
我必须提供未签名的APK文件的完整路径:platforms / android / build / outputs / apk / android-release-output.apk
如果您的预对齐APK大于2GB,则也会导致此问题。在Windows 10计算机上使用build-tools 23.0.1进行测试。
我收到此错误是因为我没有对目标目录的写访问权限。相应地更改权限解决了问题。
有时,目标文件路径中的简单\而不是/可能导致此问题。仔细检查您的多平台蚂蚁文件!
我的zipalign命令遇到了同样的问题。输出路径是正确的,但输出路径中提供的文件夹不存在,所以我手动创建文件夹,然后一切正常。
以上是关于运行zipalign时出错的主要内容,如果未能解决你的问题,请参考以下文章
Android - zipalign在apksigner之前失败了
错误记录Google Play 上架报错 ( 您上传的 APK 没有经过 Zipalign 处理,请对 APK 运行 Zipalign 工具,然后重新上传。)