AndroidStudio中gradle打包时的key的设置

最近尝试了下集成百度地图的SDK。使用过百度地图SDK的人都知道,百度给的key是根据我们的密钥sha1值和包名生成的,所以这样就产生了一个问题,当我们直接运行,或者打debug包和release包的时候,如何配置key。

直接在build.gradle中配置签名

在build.gradle中如下进行配置:

apply plugin: 'com.android.application'

android {
    ...

    //签名配置
    signingConfigs {
        debugConfig {
            keyAlias "demodemo"
            keyPassword "demodemo"
            storeFile file("G:/AndroidStudioWorkSpace/Test/demo.keystore")
            storePassword "demodemo"
        }
        releaseConfig {
            keyAlias "demodemo"
            keyPassword "demodemo"
            storeFile file("G:/AndroidStudioWorkSpace/Test/demo.keystore")
            storePassword "demodemo"
        }
    }

    defaultConfig {
        ...
    }

    //打包配置
    buildTypes {
        debug {
            signingConfig signingConfigs.debugConfig
        }
        release {
            signingConfig signingConfigs.releaseConfig
            ...
        }
    }

}

dependencies {
    ...
}

在signingConfigs中,可以写两个代码块,分别名为debugConfig和releaseConfig,并在其中写好一个完整签名需要的keyAlias、keyPassword、storeFile file、storePassword。
  然后在buildTypes中,分两个代码块,分别是debug时用的,和release时用的。再其中引用刚刚写好的debugConfig和releaseConfig即可。

这种方法有以下几点注意:

  • signingConfigs代码块一定要写在buildTypes前面,否则会报下面这种错:

Could not find property ‘debugConfig’ on SigningConfig container.

  • 如果defaultConfig中有用到签名的话,signingConfigs也要写在defaultConfig之前。
  • 签名密码写在gradle中不安全,故最好在打包上线的时候将相关代码注释掉。
    原文作者:chiaro
    原文地址: https://www.jianshu.com/p/76fadcbe211f
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞