3

我正在尝试将应用程序发布到Google Play Store. keystore我使用( Build -> Generate Signed Apkin )签署了应用程序Android Studio

但是当我尝试在 Play 商店中发布它时,我收到以下错误。

Upload failed
You uploaded an unsigned APK. You need to create a signed APK.

我尝试了几次,甚至创建了新的密钥库并从中进行了尝试。没有区别。

我正在使用最新的Android Studio 2.3

如何解决?

4

2 回答 2

0

密钥库仅生成您将用于签署所有 apk 的密钥。我以前没有使用过 android studio 来签署我的 apk。您可以使用命令行,它非常简单。第 1 步:如果您没有密钥,请使用密钥库生成密钥

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

如果运行成功,您应该my-release-key.keystore在当前目录中

第 2 步:使用 jarsigner 为您的 apk 签名

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore <path to unsigned apk>.apk alias_name  

第 3 步:您需要使用 zip align 工具优化 APK

~/Library/Android/sdk/build-tools/VERSION/zipalign -v 4 <path to unsigned apk>.apk <whatever name>.apk

注意:您可以替换~/Library/Android/sdk/build-tools/VERSION/zipalign为 zipalign 文件的路径

此外,当尝试使用 Android Studio 进行签名时,它应该会提示您必须在密钥库中输入密码,如果您没有看到此信息,则表示您尚未生成密钥库。您可以只使用上面的步骤 1,然后再次尝试使用 Android Studio 构建。

另一种方法是第 1 步转到 Build>Generate Signed APK>Next(选择的模块将是您的模块,通常称为“app”)

第二步点击新建

第 3 步 基本上,用所需的详细信息填写表格。令人困惑的一点是它要求提供密钥存储路径。单击右侧带有 3 个点(“...”)的图标,这将打开一个导航器窗口,要求您导航并选择一个 .jks 文件。导航到要保存密钥库文件的文件夹,然后在该窗口底部的“文件名”框中,只需输入您喜欢的名称,即可单击“确定”按钮。正在发生的事情是,窗口并没有真正要求您选择 .jks 文件,而是希望您为其提供您希望它拥有的位置和名称。

第 4 步单击下一步,然后选择发布,这应该工作

更多信息在这里

于 2017-03-05T21:30:15.267 回答
0

您必须将已zipalign签名的 APK 并将生成的对齐 apk 上传到 Play 商店。

zipalign –v 4 non-aligned-apk.apk aligned-apk.apk

zipalign位于~/Library/Android/sdk/build-tools/{version}/

于 2017-03-23T08:49:39.593 回答