【问题标题】:Generating Different SHA1 for different modules with different package name in Same Project为同一项目中具有不同包名的不同模块生成不同的SHA1
【发布时间】:2019-12-17 07:14:32
【问题描述】:

我不知道这是否可能,但是否可以在同一个项目中为不同的包命名模块使用不同的 SHA1。这些模块是不同的应用程序,即一个用于用户,一个用于管理员。在创建项目时,我发现使用模块会很棒,但我想现在我很困惑我应该有不同的项目还是可以用这个。因为我必须将 firebase 云消息添加到两个模块。它显示 sha1 已经使用,因为两个模块都具有相同的 SHA1。 我已经检查了每个地方,但没有在任何地方找到它。

【问题讨论】:

  • 哈希基于您用于签署应用程序的签名证书。如果它们相同,则 SHA-1 哈希值将相同。
  • 但是我没有创建任何正在开发中的签名证书@Michael
  • 好吧,您还没有提供任何有关如何获得这些 SHA-1 哈希值的真实细节。但即使您的 APK 尚未使用生产密钥库签名,它们也可能已使用一些调试密钥库进行签名。
  • 你是对的@Michael,我什至添加了不同的密钥库文件。并且正在使用 gradle 从签名报告选项中生成密钥。
  • 但还是不行。

标签: android sha1


【解决方案1】:

您可以有不同的产品风格和不同的签名配置。另请注意,每个证书都有不同的 sha1。(https://developer.android.com/studio/build/build-variants)

 signingConfigs {
    debug {
        storeFile file("debug.keystore.jks")
        storePassword ""
        keyAlias "debug"
        keyPassword ""
    }
    production {
        storeFile file("release.keystore.jks")
        storePassword  ""
        keyAlias "release"
        keyPassword  ""
    }
} 
buildTypes {
    production{
        debuggable true
        minifyEnabled true
        shrinkResources true
        signingConfig signingConfigs.production
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug{
        debuggable true
        minifyEnabled false
        shrinkResources false
        signingConfig signingConfigs.debug
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    • 2020-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多