运行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

由于编码结果不匹配,您必须这样做:

  1. 打开eclipse.ini
  2. 添加-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 工具,然后重新上传。)

zipalign:找不到命令

从命令行构建 APK 后使用 zopfli 重新压缩运行 zipalign 以使其更小

sencha 包无法在发布模式下运行 zipalign

利用zipalign对齐so库回顾