前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Android Gradle 插件】BuildType 编译类型配置 ① ( BuildType 编译类型简介 | BuildType#applicationIdSuffix 包名后缀配置 )

【Android Gradle 插件】BuildType 编译类型配置 ① ( BuildType 编译类型简介 | BuildType#applicationIdSuffix 包名后缀配置 )

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

文章目录

Android Plugin DSL Reference 参考文档 :

一、BuildType 编译类型


Android Gradle 插件 , 在编译时 , 会自动创建 debug 和 release 两种 构建类型 的 APK 安装包 ;

BuildType 文档 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.BuildType.html

BuildType 配置时 , 主要是调用了 buildTypes 方法 , 传入一个闭包 , 在闭包中配置相关属性 ;

代码语言:javascript
复制
buildTypes { }

buildTypes 方法定义在了 com.android.build.gradle.AppExtension 中 , 也就是在 build.gradle 中的 android 配置块下使用 ;

BuildType 原型如下 : BuildType 是靠 NamedDomainObjectContainer 容器代理的 , 该容器存放 BuildType 类型的元素 ;

代码语言:javascript
复制
NamedDomainObjectContainer<BuildType> buildTypes
Build types used by this project.

参考文档 : android-gradle-dsl/2.3/com.android.build.gradle.AppExtension.html#com.android.build.gradle.AppExtension:buildTypes

在 build.gradle 中默认的 buildTypes 配置如下 :

代码语言:javascript
复制
android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

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

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

二、BuildType#applicationIdSuffix 包名后缀配置


BuildTypeDefaultProductFlavor 都继承了 BaseConfigImpl 类 ,

因此

2

者之间有很多 相同的配置属性 ,

BuildTypeDefaultProductFlavor 都有 applicationIdSuffix 包名后缀配置 ;

使用如下配置的 Gradle 构建脚本 ,

在 " android # defaultConfig # applicationIdSuffix " 配置 “.tom” 设置 ,

在 " android # buildTypes # debug # applicationIdSuffix " 配置 “.jerry” 设置 ,

初始包名为 " kim.hsl.svg " , 加上后缀最终包名为 " kim.hsl.svg.tom.jerry " ;

代码语言:javascript
复制
android {

    compileSdkVersion 30
    buildToolsVersion "30.0.3"

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

		applicationIdSuffix ".tom"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            applicationIdSuffix ".jerry"
        }
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、BuildType 编译类型
  • 二、BuildType#applicationIdSuffix 包名后缀配置
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档