首页 > 解决方案 > 为同一项目中具有不同包名的不同模块生成不同的SHA1

问题描述

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

标签: androidsha1

解决方案


您可以有不同的产品风格和不同的签名配置。另请注意,您将拥有不同的 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'
    }
}

推荐阅读