美文网首页
自定义 Android Gradle -- 配置签名信息

自定义 Android Gradle -- 配置签名信息

作者: 冯可乐同学 | 来源:发表于2022-01-10 10:46 被阅读0次

----《Android Gradle 权威指南》学习笔记

总目录:Gradle 学习系列 -- 目录

上一篇:Android Gradle 插件 -- Android Gradle 工程示例

下一篇:Android Gradle -- 隐藏签名文件信息

相关文章:Android 生成和使用签名文件

1 配置签名信息

1.1 一个 APP 只有签名之后才能被发布、安装和使用,签名是保护 APP 的方式,标记该 APP 的唯一性。如果 APP 被恶意篡改,签名就不一样了,就无法升级安装,在一定程度上保护了 APP。

1.2 要想对 APP 进行签名,先得有一个签名证书文件,这个证书文件被开发者持有,这里不做详述。

1.3 一般 APP 有 debug 和 release 两种模式,在开发调试时使用 debug 模式,在发布的时候用 release 模式;可以针对两种模式采用不同的签名方式。一般 debug 模式的时候,Android SDK 已经体用了一个默认的 debug 签名证书,可以直接使用;发布的时候,使用 release 模式时就要配置私有的签名证书。

1.4 对于签名信息的配置,Android Gradle 提供了非常简便的方式,可以很容易的配置一个签名信息,如下所示:

android {
    compileSdk 31
    ....
    signingConfigs {
        release {
            storeFile file("myReleaseKey.keystore")
            storePassword "pwd1"
            keyAlias "myReleaseKey"
            keyPassword "pwd2"
        }
       debug{
            storeFile file("myDebugKey.keystore")
            storePassword "pwd1"
            keyAlias "myDebugKey"
            keyPassword "pwd2"
        }
    }
    ...
}

上面的代码中,配置了 release 和 debug 的配置。默认情况下,debug 模式的签名已经配置好了,使用的就是 Android SDK 自动生成的 debug 证书,一般位于 $HOME/.android/debug.keystore,其 key 和密码都是已知的,一般情况下不需要单独配置 debug 模式的签名信息。如下所示:

android {
    compileSdk 31
    ....
    signingConfigs {
        release {
            storeFile file("myReleaseKey.keystore")
            storePassword "pwd1"
            keyAlias "myReleaseKey"
            keyPassword "pwd2"
        }
    }
    ...
}

1.5 Android Gradle 提供了 signingConfigs{} 配置块来生成多个签名配置信息。 signingConfigs 是 Android 的一个方法,接受一个域对象作为参数。可以配置的元素如下:
storeFile: 签名证书文件
storePassword:签名证书文件的密码
storeType:签名证书的类型
keyAlias:签名证书中密钥别名
keyPassword:签名证书中该密钥的密码

2 使用配置好的签名信息

上面配置好了签名信息,使用签名信息有两种方式:在 defaultConfig{} 中使用 和 在 buildTypes{} 中使用。

2.1 在 defaultConfig{} 中使用签名信息

在 defaultConfig{} 中使用签名信息时,需要将 signingConfigs 代码块写在 defaultConfig 代码块的上方,这样在 defaultConfig 中才能使用到。代码如下:

defaultConfig {
        applicationId "com.cakes.testmodule"
        ...
  
        signingConfig signingConfigs.release
}

2.2 在 buildTypes{} 中使用签名信息

除了默认签名配置外,也可以对构建的类型分别配置签名信息,即在 buildTypes 代码块中配置签名信息,代码如下:

buildTypes {
        release {
            signingConfig signingConfigs.release
            ...

        }
}
相关代码:https://gitee.com/fzq.com/gradle-demos

相关文章

网友评论

      本文标题:自定义 Android Gradle -- 配置签名信息

      本文链接:https://www.haomeiwen.com/subject/cdgcfrtx.html