运行zipalign时出错

时间:2011-01-03 02:49:08

标签: android eclipse export package

尝试在Eclipse中导出已签名的apk时出现此错误

运行zipalign时出错: 打不开  作为zip存档

我运行了帮助 - >检查更新以确保安装了最新更新,并且SDK工具也是最新的。

20 个答案:

答案 0 :(得分:65)

我收到了同样的错误消息。逼我疯狂,直到我发现我的目的地路径无效。

即使apk完全有效,Zipalign也会给你错误,但是

  • apk的路径无效
  • 目的地无效或没有 存在
  • 权限无效(apk被其他程序锁定)

答案 1 :(得分:7)

我有同样的问题,是的,这是因为该工具无法识别路径。我使用了错误的斜杠,因为我从开发人员博客得到了不好的建议。

如果文件“origin.apk”位于C目录中名为“storage”的文件夹中,则采样行命令:

zipalign -f -v 4 “c:\storage\origin.apk” “c:\storage\done.apk”

确保使用输入键上方的斜杠...我看到的很多“示例”都使用了shift键,但这不起作用。这将使用名为“origin.apk”的apk并对其进行zipalign,然后将其保存到与文件“done.apk”相同的目录中。

也许这只是在Vista上,我不知道。我使用的是32位Windows Vista。

答案 2 :(得分:6)

在我的情况下,我从unsigned apk所在的目录运行命令,并且运行完美。

cd /platforms/android/build/outputs/apk
zipalign -v 4 android-release-unsigned.apk signed.apk 

这样,我就不用担心指定目录了。

ps:我在ubuntu上做过这个。

答案 3 :(得分:3)

我在Deploy目录中删除了apk文件,导出工作正常。

答案 4 :(得分:3)

我必须提供未签名的APK文件的完整路径:     的平台/机器人/建造/输出/ APK /机器人释放-output.apk

答案 5 :(得分:2)

如果您的预对齐APK大于2GB,则也会导致此问题。在Windows 10计算机上使用build-tools 23.0.1进行测试。

答案 6 :(得分:1)

我收到此错误,因为我没有对目标目录的写入权限。相应地更改权限解决了问题。

答案 7 :(得分:1)

有时,目标文件路径中的简单\而不是/可能导致此问题。仔细检查您的多平台蚂蚁文件!

答案 8 :(得分:1)

我的zipalign命令遇到了同样的问题。输出路径是正确的,但输出路径中提供的文件夹不存在,所以我手动创建文件夹,然后一切正常。

答案 9 :(得分:0)

在 Windows 上为我解决的问题是将输出文件夹设置为驱动器 C:

答案 10 :(得分:0)

我必须从

的项目文件夹中运行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

答案 11 :(得分:0)

这是您的错误
您正在尝试先设置或引用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将立即生成。

答案 12 :(得分:0)

添加我的解决方案:

我的问题是我的资产文件夹太大了,而且必须以某种方式搞乱拉链。我不得不删除资产文件夹中的文件(或将它们添加到_pre_production)。

答案 13 :(得分:0)

zipalign工具无法访问源文件,因此您应该验证路径,文件名,扩展名,权限......

答案 14 :(得分:0)

当我在Windows资源管理器中打开项目的bin文件夹时,发生了此问题。

然后我尝试删除我的旧apk文件(Export工具试图覆盖失败)但我无法做到,因为我没有获得必要的许可,或者因为其他一些进程锁定了文件。

解决方案是重新启动我的计算机,该计算机释放了apk文件上的锁定。然后,Eclipse的Export工具运行良好。

更新 无法在Windows资源管理器或命令窗口中删除旧的apk文件(即使我使用管理员权限打开它),但我可以在我的FileZilla FTP客户端应用程序中查看它时删除apk。显然,这比重新启动计算机更方便。

答案 15 :(得分:0)

在我的情况下,问题是utf-8命名文件夹。我把它改成英文并且工作了。我使用的是Windows 8 x64企业版。

答案 16 :(得分:0)

检查目标磁盘上的可用空间。我得到了同样的错误,因为我的磁盘已满: - )

答案 17 :(得分:0)

如果目标文件已经存在并且由另一个进程打开,那么您将看到此错误。

解决方法:重命名目标文件,或关闭已打开文件的应用程序。

答案 18 :(得分:-1)

就我而言,在Linux(Mint)上,我必须手动设置zipalign的执行权限,然后它就像魅力一样。

答案 19 :(得分:-2)

对于mac

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

  1. 打开eclipse.ini
  2. 添加-Dfile.encoding=utf-8