android - 两个不同的 android studio 但同一个项目,它们生成的方式不同吗?

标签 android android-studio android-gradle-plugin

我的笔记本电脑有双启动 Ubuntu/Windows,我的项目在 github 上。通常我以前在ubuntu的android studio中编码。但是昨天我将我的项目从 github 拉到 windows android studio,当我在设备上安装时编译项目时它说

失败 [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]

这是什么意思?

提前致谢!

最佳答案

当您将应用部署到设备或模拟器时,需要使用 Java keystore 中的 key 对 APK 进行签名。

当您要将应用上传到 Play 商店时,通常会首先遇到此过程。在这样做之前,您必须使用一个 key 对您的 APK 进行签名,您将使用该 key 对所有 future 的发布版本进行签名。您通常会自己生成此 key ,并且不会丢失它 - 没有它,您将无法发布新版本的应用。

但是,开发期间的调试版本也必须经过签名才能部署到设备上。问题是,默认情况下,调试版本使用您首次设置开发环境时生成的调试 keystore 进行签名。因此,调试 keystore 在每台计算机上都是不同的,当您尝试从另一台计算机安装您的应用程序时,设备会合理地提示它安装的应用程序没有与您正在尝试的新版本相同的证书安装。

对此有两种可能的解决方案-

  • 只需卸载该应用,然后再次尝试部署它。

  • 将 keystore (例如您的调试 keystore 之一)放入源代码控制中,并通过 defining a signing configuration in Gradle 明确使用该 key 对您的调试构建进行签名.

请注意,在 Windows 上,您的调试 keystore 通常位于 C:\Users\[username]\.android\debug.keystore

关于android - 两个不同的 android studio 但同一个项目,它们生成的方式不同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31882525/

相关文章:

android - Windows 上的 Sdkmanager "Error: Could not find or load main class com.android.sdklib.tool.sdkmanager.SdkManagerCli"

java - 错误 : resource android:attr/preserveIconSpacing is private

android - 为什么 JavaDoc 生成 gradle 任务不适用于 Android 插件?

android - Android Gradle从命令行中排除特定的buildType

android - 如何减少 Android 模拟器资源消耗?

android - 如何在 AAR 中提供 compileOnly 依赖项?

java - Android:如何将 ArrayList 的每个值绑定(bind)到一个变量?

Android:选中时如何更改选项菜单的背景颜色?

java - android AppWidget : SMS query works on emulator, 但不在真实设备上

java - Tablelayout 或自定义 listView 布局