Android Studio签名APK无法安装

21

我在Android Studio下使用“Build > Generate Signed APK”向导签名APK,似乎所有步骤都正常,生成了.apk文件。

但是,当我将这个文件复制到我的设备(Nexus 7或Moto X)上时,无法安装,会提示“安装失败”。

我完全不知道出了什么问题。我已经将这个.apk上传到Google Play开发者控制台的“Alpha测试”中,并成功接受了(现在等待测试链接变为活动状态,以尝试从那里下载/安装)。

这里的向导说明 (http://developer.android.com/tools/publishing/app-signing.html#studio) 在最后一个阶段的截图中显示一个名为“构建类型”的下拉列表,选择了“发布”。但是,在我的Android Studio版本中没有找到它。在这个向导中,我找不到任何可以指定“发布”构建的选项。

希望能得到任何人的帮助,谢谢!


你拿到了一个已签名的APK文件并尝试在你的设备(称为Q)上安装,对吧?告诉我,你是否卸载了之前在设备上使用过的APK文件(用于正常测试的那个)? - aB9
4个回答

36

您需要进入发布模式才能生成已签名的APK。在Android Studio的左下角应该有一个小正方形图标。单击它,然后将弹出一个菜单。现在选择Build Variants,您将得到一个带有两列的表:Module和Build Variant。Build Variant下面必须写有debug。单击它,您将获得一个下拉菜单。现在单击release,Gradle将开始构建发布版本。一旦完成,生成签名的APK。


如果我有多个依赖项,那么我是需要为每个依赖项更改构建变体还是只需更改app - BST Kaal
出现错误:无法下载intellij-core.jar(com.android.tools.external.com-intellij:intellij-core:26.1.3):离线模式下没有可用的缓存版本 - Hari Kiran Vusirikala
位置和 debug.apk 相同吗? - Budi Mulyo

28

我的意见是:使用Android Studio 2.3,您可以以两种方式签署应用程序:v1 jar签名,v2全apk签名。 我一直在使用v2选项,这导致签名的应用程序无法安装到我的安卓设备上。 然后我取消了v2选项,选中了v1选项,现在apk按预期安装。


这个可行。但是这两者之间有什么区别? - Vikrant_Dev
看这个:https://dev59.com/u1gQ5IYBdhLWcg3wg0PS - edestrero
2
你的意见非常有用!这应该是答案! - Maulik

9

虽然有点晚了但是我有一个愚蠢的方法可以解决:
设置>应用程序>我的应用中卸载应用程序,需要卸载全部用户。

如果你只是卸载了应用程序,有时候它只是从你的账户中删除,而不是从设备中删除,因此当你尝试安装新的APK文件时,可能会出现版本或证书不匹配的问题。

希望这可以帮助到某些人。


1
这对我有用。我试图使用将APK文件拖放到Genymotion模拟器上来安装已签名的发布版APK。应用程序的调试版本已经安装在模拟器上。但是,它一直失败并显示一个通用/不具体的错误消息。在按照上述步骤卸载了调试版本后,我成功地使用拖放方式安装了已签名的发布版APK。 - dazed

7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接