【问题标题】:Android Package signatures do not matchAndroid 包签名不匹配
【发布时间】:2019-03-28 10:40:29
【问题描述】:

我刚刚在 Android Studio 3.2.1 中导入了一个项目 并同步成功。导入的项目正在使用

android {
compileSdkVersion 27
defaultConfig {

    minSdkVersion 14
    targetSdkVersion 27
    versionCode 1
    versionName "1.4"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

现在我根据 28 更改了版本

android {
compileSdkVersion 28
defaultConfig {

    minSdkVersion 14
    targetSdkVersion 28
    versionCode 2
    versionName "2.1"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

所以我已经在我的智能手机中安装了应用程序。 当我尝试安装其给出的消息“包签名与先前安装的版本不匹配”时。最重要的是我无法卸载应用程序,我只需要更新它。我应该怎么做才能使其正常工作?

【问题讨论】:

  • 你必须先卸载之前安装的版本。
  • And most important I cannot uninstall the application, I need to only update it你必须卸载它,否则将无法安装新的应用程序。
  • play store 或其他计算机安装以前的应用程序的位置?

标签: java android android-studio-3.2


【解决方案1】:

当您签署 APK 时,签署工具会将公钥证书附加到 APK — 签署 app bundle 时也是如此。公钥证书充当“指纹”,将 APK 或应用程序包唯一地关联到您和您的相应私钥。这有助于 Android 确保您应用的任何未来更新都是真实的并且来自原作者。用于创建此证书的密钥称为应用签名密钥。

密钥库是包含一个或多个私钥的二进制文件。

每个应用程序必须在其整个生命周期内使用相同的证书,以便用户能够安装新版本作为应用程序的更新。

更多详情: Sign your app

【讨论】:

    【解决方案2】:

    sudo mv /data/system/packages.xml /data/system/packages.bkp 重启

    【讨论】:

      最近更新 更多