您上传了一个非zip对齐错误的APK

Ana*_*nas 23 android

我刚刚完成并通过android工作室签署了apk,然后我通过apkprotect.com做了一个apk保护当我试图上传apk到Play商店时我得到了这个错误"你上传了一个没有拉链对齐的APK.你将需要在您的APK上运行一个拉链对齐工具并再次上传."如果我上传原始apk我没有错误,

我试图在build.gradle中添加zipalign true但没有任何反应我尝试过也禁用并启用proguard.

Min*_*nas 28

您可以在命令行中手动运行zipalign:

zipalign [-f] [-v] <alignment> infile.apk outfile.apk
Run Code Online (Sandbox Code Playgroud)

请注意,zipalign位于$ {sdk.dir}\tools中

有关详细信息,请访问zipalign


[更新]

此外,如果您需要签名,您可以运行:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore YOURKEYSTORE unsigned.apk alias_name
Run Code Online (Sandbox Code Playgroud)

(jarsigner位于java JDK_HOME/bin中)


der*_*ekg 16

我得到了相同的"你上传了一个没有拉链对齐的APK ...等等,错误"错误时我试图将我的.apk文件的DEBUG版本上传到Google Play.这有点误导性错误,因为真正的问题是您无法分发另外未使用Google Android Developer密钥签名的调试版本.(你只能上传一个编译为发行版的.apk,并且必须签名,这在同一步骤中发生,至少如果你使用的是Eclipse).

确保您分发了一个.apk文件,该文件是您的签名版本,如下所述:

http://developer.android.com/tools/publishing/app-signing.html#releasecompile


Pau*_*ire 7

这个问题及其答案是陈旧的; 所以我们希望事情发生变化.截至今天,zipalign工具位于build-tools/[version] /下的ANDROID_HOME目录中,因此我的路径目前是:

/android-sdk/build-tools/22.0.0/zipalign
Run Code Online (Sandbox Code Playgroud)

使用zipalign工具不一定是这里的答案,你实际需要做的是签署你的apk.

  • 我使用的是错误的apk ....我在"<project directory> \\ build\outputs\apk"中使用了一个而不是项目目录底部的一个 (7认同)
  • 我的apk已签名,但我仍然遇到此错误 (3认同)

小智 7

如果使用 Xamarin for VS2017,步骤如下:

  1. 构建项目
  2. 右键单击并Archive投影
  3. 使用Ad Hoc分销渠道
  4. 使用您的签名身份对您的 APK 进行签名,并Save As生成 ZIP 对齐的 APK。

您的 APK 可以上传到 Google Play。


jon*_*y89 6

我正在使用 Cordova,上传了一个签名的 APK,但仍然出现此错误。

ziptool 对我有帮助,它位于 ~AndroidSDK\build-tools\24.0.0\zipalign.exe

例如:

"~\AndroidSDK\build-tools\24.0.0\zipalign.exe" -f -v 4 android-release-signed.apk android-release-signed-zipaligned.apk
Run Code Online (Sandbox Code Playgroud)