【问题标题】:Android Developer Console - wrong fingerprint after release build with Android StudioAndroid 开发者控制台 - 使用 Android Studio 发布构建后指纹错误
【发布时间】:2017-07-31 17:52:10
【问题描述】:

我开始使用 Adob​​e Air 构建 Android 应用程序,因此我需要一个 .p12 密钥来构建发布版本 .apk 接下来,我将应用程序移植到 Unity3d,因此我将 .p12 转换为 .keystore。到目前为止,将新版本上传到开发者控制台没有问题。

现在我使用 Android Studio 重写和重新设计了该应用。当我使用 Android Studio 上传发布版本时,由于指纹不同,我无法发布它。 我尝试使用 v1、v2 和两者在 Android Studio 中签署发布版本。

你知道如何解决这个问题吗?

【问题讨论】:

  • 遇到同样的问题。
  • 当您使用 Android Studio 创建签名 apk 时,它使用 SHA1 密钥及以上的签名,正如您所提到的,您正在使用 .p12 密钥在密钥库中进行转换,所以您是否曾经检查过,两者的密钥是否相同?
  • 对我来说它们是同一个键。
  • 当我尝试使用新的 V2 完整 APK 签名时它对我不起作用,后来当我更改为 V1 jar 签名时,Playstore 接受了我更新的发布版本(因为之前的发布版本使用 V1 jar签名)。我认为我们必须在 Google Playstore 中应用程序的整个发布生命周期中保持相同的签名版本。

标签: android android-studio unity3d apk keystore


【解决方案1】:

在 Unity apk 指纹上创建类似于“com.companyname.apkname”,但在 Android Studio 指纹上默认创建类似于“com.company.name.apkname”,这些是不同的指纹,如您所见 :)

它可能会解决你的问题,试试这个并告诉我:)

【讨论】:

  • 应用程序不是用 Unity 创建的。不幸的是没有工作。
【解决方案2】:

经过几个月的故障排除,我找到了解决方案。

  1. 在 Android Studio 中选择“生成签名 Apk”
  2. 选择“使用 v1(Jar 签名)”
  3. 构建应用程序
  4. 将您的 appname.apk 重命名为 appname.zip
  5. 打开 zip 文件并删除 META-INF 文件夹
  6. 将 appname.zip 重命名为 appname.apk
  7. 打开 cmd 并使用以下命令:

    jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore C:\PATH_TO_YOUR_KEYSTORE_FILE\yourkeyname.keystore appname.apk 1

  8. 然后运行最后一个命令:

    C:\PATH_TO_YOUR_ANDROID_BUNDLE_INSTALLATION\Android\adt-bundle-windows-x86_64-20140702\sdk\build-tools\YOUR_CURRENT_BUILD_TOOLS_VERSION\zipalign -p 4 appname.apk newcompletelycorrectsignedapp.apk

希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2013-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多