gradle控制多包名打包

您所在的位置:网站首页 gradle打jar包 gradle控制多包名打包

gradle控制多包名打包

2023-06-18 23:49| 来源: 网络整理| 查看: 265

文章目录 I.基础设置1.build.gradle设置 II.代码和资源文件目录设置1.代码2.AndroidManifest.xml设置3.资源文件

I.基础设置 1.build.gradle设置

项目根目录的build.gradle中android节点添加:

flavorDimensions "version" productFlavors { // 开发 dev { applicationId 'com.dev.messenger' ndk { abiFilters "arm64-v8a", "armeabi-v7a", "x86", "x86_64" } namespace 'com.dev.messenger' } // 测试 check { applicationId 'com.check.messenger' ndk { abiFilters "arm64-v8a", "armeabi-v7a", "x86", "x86_64" } namespace 'com.check.messenger' } // 正式发布 prod { applicationId 'com.prod.messenger' ndk { abiFilters "arm64-v8a" } namespace 'com.prod.messenger' } } II.代码和资源文件目录设置 1.代码

多包名打包主要影响的是app模块,需要更改包名,共有代码就放在main目录下即可,差异代码放在对应版本的目录下

app └─src ├─main │ ├─java │ │ └─com │ │ └─xxx │ │ └─messenger │ │ └─main │ └─res ├─dev │ └─java │ └─com │ └─dev │ └─messenger │ └─main ├─check │ └─java │ └─com │ └─check │ └─messenger │ └─main └─prod └─java └─com └─prod └─messenger └─main 2.AndroidManifest.xml设置

已经在build.gradle中配置了namespace,AndroidManifest.xml中不需要再配置packname,如果不同版本需要不同的产品名称,那么每个版本目录下都要有一个AndroidManifest.xml,如果要有不同的icon,参考下面资源文件的配置。

3.资源文件

如果项目中涉及到需要更改图标、icon等,同时资源文件都放在单独的模块里面,那么这个模块(假如说叫res)下的build.gradle也需要进行配置,和项目根目录的build.gradle配置不同的是,资源文件模块下的build.gradle只需要声明Flavors即可,不需要配置属性:

flavorDimensions "version" productFlavors { // 开发 dev { } // 测试 check { } // 正式发布 prod { } }

然后模块中目录也要对应:

res └─src ├─main │ ├─assets │ └─res │ ├─anim │ ├─color │ ├─drawable │ ├─drawable-hdpi │ ├─drawable-xhdpi │ ├─drawable-xxhdpi │ ├─drawable-xxxhdpi │ ├─raw │ ├─values │ └─values-zh-rCN ├─dev │ └─res │ ├─drawable │ ├─values │ └─values-zh-rCN ├─check │ └─res │ ├─drawable │ ├─values │ └─values-zh-rCN └─prod └─res ├─drawable ├─values └─values-zh-rCN

注意:如果其他模块引用了该资源模块,那么引用该资源模块的模块也需要配置build.gradle,也只需要声明Flavors即可,把res模块中的配置抄过去就行。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3