Android:错误 - 应用程序具有相同的打包不同签名

标签 android android-studio apk android-keystore

我遇到了 android studio 说的问题

 Installation failed since the device has an application with the same package but a different signature. . . .. 

这是正确的,因为我最近签署了一个 APK 并上传到我的 Play 开发者控制台的测试区。

现在我正在尝试在本地调试它,默认情况下我相信所有 Android 项目都由调试 keystore 签名,因此签名会有所不同。

处理此问题的最佳方法是什么?是否可以使用我的发布 key 对我的调试版本进行签名,这里是否存在潜在危险?

如何在不失去调试能力的情况下使用我的发布 keystore 强制签署我的调试版本?

或者我应该继续卸载并重新安装不同的版本 - 这似乎是最糟糕的解决方法。 :-)

最佳答案

您可以在保留调试选项的同时使用您的发布 key 签署您的应用程序 - 您只需将您的发布 key 添加到 Android Studio(或者如果您在那里签署您的应用程序,则在命令行中指定它)。

在 Android Studio 中,在项目浏览器中右键单击您的应用,然后打开模块设置。选择您应用程序的模块并单击“签名”以确保列出您的发布 keystore 。然后在“Build Types”下,确保调试目标和发布目标共享相同的签名配置,并且调试目标的 debuggable 设置为 true。他们现在应该共享相同的 key 。

有关应用签名的更多信息可以在开发者文档中找到 here .

我还没有听说过使用相同的 key 进行调试和发布有什么缺点,前提是私钥是安全的(阅读:不受版本控制)。

关于Android:错误 - 应用程序具有相同的打包不同签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27872959/

相关文章:

Android getTextBounds 尾随空格处理(也与 AndEngine Font.getStringWidth 相关)

android - 如何制作具有 self 发送能力的Android应用程序

android - mavenLocal不从.m2存储库中获取 Artifact

android - 您的 APK 似乎不是为平板电脑设计的

grails - 如何在Grails中读取CERT.RSA文件的内容?

java - 在 Android-Java 中操作 html 响应

android - 从 sqlite 运行选择

android - NotificationCompat.Builder 和 ActionBarSherlock 的问题

AndroidJUnitRunner 单元测试执行起来很慢

java - 偏好设置屏幕更改颜色