Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 您上载了一个未对齐的APK错误_Android_Google Play_Apk - Fatal编程技术网

Android 您上载了一个未对齐的APK错误

Android 您上载了一个未对齐的APK错误,android,google-play,apk,Android,Google Play,Apk,我刚刚通过android studio完成并签署了apk, 然后我通过apkprotect.com进行了apk保护 当我试图将apk上传到play store时,我遇到了一个错误:“您上传的apk不是zip对齐的。您需要在apk上运行zip对齐工具,然后再次上传。” 如果我上传原始的apk,我就没有错误 我曾尝试在build.gradle中添加zipalign true,但什么也没发生 我也尝试过禁用和启用proguard 您可以在命令行中手动运行zipalign: zipalign [-f]

我刚刚通过android studio完成并签署了apk, 然后我通过apkprotect.com进行了apk保护 当我试图将apk上传到play store时,我遇到了一个错误:“您上传的apk不是zip对齐的。您需要在apk上运行zip对齐工具,然后再次上传。” 如果我上传原始的apk,我就没有错误

我曾尝试在build.gradle中添加zipalign true,但什么也没发生
我也尝试过禁用和启用proguard

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

zipalign [-f] [-v] <alignment> infile.apk outfile.apk
jarsigner位于java JDK_HOME/bin内部)

当我错误地尝试将.APK文件的调试版本上载到Google Play时,我收到了相同的“您上载了一个未对齐的APK…等等等等”错误。这是一个有点误导性的错误,因为真正的问题是你不能发布一个调试版本,而这个版本没有用你的谷歌Android开发者密钥签名。(您只能上载编译为发布版本的.apk,并且必须对其进行签名,这在同一步骤中发生,至少在使用Eclipse时是如此)

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


这个问题及其答案都很古老;因此,我们期望情况会有所改变。截至今天,zipalign工具位于ANDROID_主目录下的build tools/[version]/下,因此我的路径当前为:

/android-sdk/build-tools/22.0.0/zipalign

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

我使用Cordova和命令行得到这个错误。我在Android Studio中打开了该项目,并使用Android Studio构建签名的apk,错误消失了。

我使用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

当使用Cordova node.js CLI而不经过Android Studio时,有必要更新
PATH
环境变量以包括Android构建工具:

%ANDROID_HOME%\build-tools\29.0.2

显然,版本号会随着时间的推移而改变。请记住关闭所有CLI窗口并重新打开它们以识别新添加的路径。

如果使用Xamarin for VS2017,请执行以下步骤:

  • 建设项目
  • 右键单击并
    Archive
    project
  • 使用特别的分销渠道
  • 使用您的签名身份对APK进行签名,并
    另存为
    ,以生成与邮政编码对齐的APK

  • 您的APK可以上传到Google Play。

    我刚刚尝试过使用受保护的APK,但在Play store中出现错误“您上传了一个未签名的APK。您需要创建一个已签名的APK”。如果APK未签名,您应该在zipalign之前签名。关于更多细节,我已经通过Android Studio=>generate signed apkyes完成了这项工作,但在您使用apkprotect.com之后,apk再次变得未签名。我从未使用过apkprotect,但我认为您没有提供密钥库,对吗?没有它就不能给你签apkkeystore@Gediminasinfire.apk是原始的apk,应该进行zipaling,outfile.apk是最终的zipaling apk。我使用了错误的apk。。。。我在“\\build\outputs\apk”中使用了一个,而不是项目目录库中的一个。这也是我的情况,我试图上载由xamarin生成的存档。然后在读了这篇文章之后,我创建了一个临时发布并签署了它
    %ANDROID_HOME%\build-tools\29.0.2