gradle控制多包名打包 |
您所在的位置:网站首页 › gradle打jar包 › gradle控制多包名打包 |
文章目录
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 |