Gradle 渠道包配置
Gradle 渠道包配置
安卓项目中默认使用gradle作为构建工具,gradle默认提供了很多Task,开发者也可以自己新建Task构建脚本,让打包、开发达到事半功倍的效果。这篇文章主要讲解安卓项目中常见的打包脚本。
基本任务
用gradle创建一个简单的输出脚本。
- 在安卓项目的
build.gradle
中的android{}
中添加以下脚本
task myTask{
println 'this is my task'
}
- 点击
Sync Now
之后,在Terminal
中运行
./gradlew myTask
就可以打印出'this is my task',不仅仅是使用命令,也可以在开发工具AndroidStuido右侧的Gradle
中找到Task -> Other -> myTask
,点击运行也是一样的效果。
常见任务
渠道包配置
同一套代码可以打包出多个应用程序,它们的包名不同、图标不同、应用名称不同,这样就可以一个手机上共存多个应用程序。
如何操作:
- 在app的build.gradle文件的android{}标签内
productFlavors {
// 产品版本1
product1 {
applicationId "com.android.application1"
manifestPlaceholders = [app_name:"产品1", app_ico: "@mipmap/ico1"]
}
// 产品版本2
product2 {
applicationId "com.android.application2"
manifestPlaceholders = [app_name:"产品2", app_ico: "@mipmap/ico2"]
}
// 产品版本3
product3 {
applicationId "com.android.application3"
manifestPlaceholders = [app_name:"产品3", app_ico: "@mipmap/ico3"]
}
}
product1、product2、product3是指不同的版本,applicationId
对应的包名,manifestPlaceholders
中的app_name
、app_ico
代表的是应用名称和应用图标。
- 相应的让应用名称和应用图标生效,还需要在
AndroidManifest.xml
中添加“变量”
<application
android:icon="${app_ico}"
android:label="${app_name}"
android:roundIcon="${app_ico}"
>
- 在android标签内
defaultConfig
标签下添加
flavorDimensions "XXX"
flavorDimensions
比较特殊,有多维度的理解,比如
A公司的A渠道产品,A公司的B渠道产品,B公司的A渠道产品,B公司的B渠道产品
详细了解可以看这篇文章flavorDimensions
为渠道添加动态变量
添加buildConfigField
的内容
productFlavors {
// 产品版本1
product1 {
applicationId "com.android.application1"
manifestPlaceholders = [app_name:"产品1", app_ico: "@mipmap/ico1"]
buildConfigField "String","FLAVOR_NAME","\"product111\""
}
// 产品版本2
product2 {
applicationId "com.android.application2"
manifestPlaceholders = [app_name:"产品2", app_ico: "@mipmap/ico2"]
buildConfigField "String","FLAVOR_NAME","\"product222\""
}
// 产品版本3
product3 {
applicationId "com.android.application3"
manifestPlaceholders = [app_name:"产品3", app_ico: "@mipmap/ico3"]
buildConfigField "String","FLAVOR_NAME","\"product333\""
}
}
添加完成之后Rebuild Project
,然后在Activity中就使用BuildConfig.FLAVOR_NAME
可以进行判断使用了。
作者:Android唐浮
链接:https://juejin.cn/post/7104903667244859406
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。