前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Android Gradle 插件】BuildType 编译类型配置 ⑧ ( versionNameSuffix 配置 | zipAlignEnabled 配置 | initWith 方法 )

【Android Gradle 插件】BuildType 编译类型配置 ⑧ ( versionNameSuffix 配置 | zipAlignEnabled 配置 | initWith 方法 )

作者头像
韩曙亮
发布2023-03-30 15:15:44
4950
发布2023-03-30 15:15:44
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

Android Plugin DSL Reference 参考文档 :

一、BuildType#versionNameSuffix 配置


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

BuildType#versionNameSuffix 配置 用于 配置 该编译类型的 版本号名称的后缀 ;

在计算 变体 ( debug 或 release ) 的最终版本名时,这会附加到 “基本” 版本名之后 , 基本版本名称就是 defaultConfig 中的 versionName "1.0" 配置 ;

代码语言:javascript
复制
版本名称后缀 ; 
在计算 变体 ( debug 或 release ) 的最终版本名时,这会附加到 “基本” 版本名之后。

BuildType#versionNameSuffix 配置原型 :

代码语言:javascript
复制
String versionNameSuffix
Version name suffix.

This is appended to the "base" version name when calculating the final version name for a variant.

二、BuildType#zipAlignEnabled 配置


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

BuildType#zipAlignEnabled 配置 作用是 配置该编译类型 ( debug / release ) 是否进行优化对齐操作 ;

BuildType#zipAlignEnabled 配置原型 :

代码语言:javascript
复制
boolean zipAlignEnabled
Whether zipalign is enabled for this build type.

三、BuildType#initWith 方法


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

BuildType#initWith 方法 作用是 拷贝一个 " 给定的 编译类型 " 的 " 所有属性 " ;

BuildType#initWith 方法原型 :

代码语言:javascript
复制
DefaultBuildType initWith(BuildType that)
Copies all properties from the given build type.

It can be used like this:

android.buildTypes {
    customBuildType {
        initWith debug
            // customize...
        }
}

使用示例 : 在 " android # buildTypes " 下定义 tom 编译类型 , 在 tom 编译类型中 , 使用 initWith 方法 ; 此时 如果不配置 tom 编译类型的其它选项 , 则 tom 编译类型 与 debug 是一模一样的 ;

代码语言:javascript
复制
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
            testCoverageEnabled true
        }
        tom {
            initWith debug
        }
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、BuildType#versionNameSuffix 配置
  • 二、BuildType#zipAlignEnabled 配置
  • 三、BuildType#initWith 方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档