我刚刚完成并通过android studio签署了apk 然后我通过apkprotect.com做了一个apk保护 当我试图将apk上传到Play商店时,我收到了此错误"您上传了一个非zip对齐的APK。您需要在APK上运行zip对齐工具并再次上传。 " 如果我上传原始apk我没有错误,
我试图在build.gradle中添加zipalign,但没有任何反应 我也试过禁用并启用proguard。
答案 0 :(得分:27)
您可以在命令行中手动运行zipalign:
zipalign [-f] [-v] <alignment> infile.apk outfile.apk
请注意,zipalign位于$ {sdk.dir} \ tools
中有关详细信息,请访问zipalign
[更新]
此外,如果您需要签名,您可以运行:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore YOURKEYSTORE unsigned.apk alias_name
( jarsigner 位于java JDK_HOME / bin内)
答案 1 :(得分:15)
我得到了同样的#34;你上传了一个没有拉链对齐的APK ...等等,等等#34;错误的时候我试图将我的.apk文件的DEBUG版本上传到Google Play。这有点误导性错误,因为真正的问题是您无法分发另外未使用Google Android Developer密钥签名的调试版本。 (您只能上传一个编译为发行版的.apk,并且必须进行签名,这必须在同一步骤中进行,至少如果您正在使用Eclipse)。
确保分发一个.apk文件,该文件是您的签名版本,如下所述:
http://developer.android.com/tools/publishing/app-signing.html#releasecompile
答案 2 :(得分:7)
这个问题及其答案是陈旧的;所以我们希望事情发生变化。截至今天,zipalign工具位于build-tools / [version] /下的ANDROID_HOME目录中,所以我的路径目前是:
/android-sdk/build-tools/22.0.0/zipalign
使用zipalign工具不一定是这里的答案,你真正需要做的就是签署你的apk。
答案 3 :(得分:4)
我正在使用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
答案 4 :(得分:1)
我使用Cordova和命令行收到此错误。我在Android Studio中打开了该项目,并使用Android Studio构建了已签名的apk,错误消失了。
答案 5 :(得分:0)
在不通过Android Studio的情况下使用Cordova node.js CLI时,必须更新PATH
环境变量以包括android构建工具:
%ANDROID_HOME%\build-tools\29.0.2
显然,版本号会随着时间而变化。请记住关闭所有CLI窗口,然后重新打开它们以识别新添加的路径。
答案 6 :(得分:0)
将Xamarin用于VS2017的步骤:
Archive
项目Ad Hoc
分发渠道Save As
对APK进行签名,以生成ZIP对齐的APK。您的APK可以上传到Google Play。