zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

【Android Gradle 插件】SigningConfig 签名配置 ③ ( storeType 配置 | v1SigningEnabled / v2SigningEnabled 配置 )

2023-06-13 09:18:05 时间

文章目录

Android Plugin DSL Reference 参考文档 :

一、SigningConfig#storeType 配置


BuildType ( build.gradle#android#buildTypes 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.BuildType.html

SigningConfig ( build.gradle#android#signingConfigs 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.SigningConfig.html

AppExtension ( build.gradle#android 配置 ) 文档位置 : android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.AppExtension.html

SigningConfig#storeType 配置用于设置 签名文件的 " 类型 " , 该配置原型如下 :

String storeType
Store type used when signing.

该配置一般使用默认配置即可 , 不需要额外进行配置 ;

二、SigningConfig#v1SigningEnabled / v2SigningEnabled 配置


SigningConfig#v1SigningEnabled / v2SigningEnabled 配置原型如下 :

boolean v1SigningEnabled
Whether signing using JAR Signature Scheme (aka v1 signing) is enabled.

boolean v2SigningEnabled
Whether signing using APK Signature Scheme v2 (aka v2 signing) is enabled.

这两个配置默认为 true , 不需要修改 , 因此不用配置这两个选项 ;

三、在 buildTypes 配置已有的 SigningConfig


在之前的 " android # signingConfigs " 中 , 已经配置好了 mySigningConfig 签名配置 , 之后可以使用 signingConfigs.mySigningConfig 方式调用该签名配置 ;

    signingConfigs {
        mySigningConfig {
            storeFile file("debug.keystore")
            storePassword "android"
            keyAlias "androiddebugkey"
            keyPassword "android"
        }
    }

则在 " android # buildTypes # release " 或 " android # buildTypes # debug " 中的 signingConfig 配置 , 可以设置为 signingConfigs.mySigningConfig , 其中 mySigningConfig 就是自定义的签名配置名称 ;

完整代码如下 :

android {

    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        applicationId "kim.hsl.svg"
        minSdkVersion 18
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    signingConfigs {
        mySigningConfig {
            storeFile file("debug.keystore")
            storePassword "android"
            keyAlias "androiddebugkey"
            keyPassword "android"
        }
    }

    buildTypes {
        release {
            // 是否开启优化混淆
            minifyEnabled true
            // 是否启用资源压缩 , 未使用的资源会被优化
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            applicationIdSuffix ".jerry"
            signingConfig signingConfigs.mySigningConfig
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
}