步骤
1、配置主module的build.gradle文件
2、配置Manifest.xml文件
3、设置Build Variants
4、处理差异化问题
5、解决常见问题
1.modle-build.gradle
应用插件: 'com.android.application' android { compileSdkVersion 29 defaultConfig { applicationId com.xyz.app minSdkVersion 15 targetSdkVersion 28 versionCode 1 versionName 1.0 testInstrumentationRunner android.support.test.runner.AndroidJUnitRunner manifestPlaceholders = [APP_NAME: 'com.xyz.app.majiatxt'] // 配置主包的应用名称 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } // 马甲包 majiabao1.initWith(buildTypes.debug) // 以release的配置来初始化马甲包配置 majiabao1 { // 修改马甲包的applicationId(这里是原包名后追加:com.xyz.app.majiabao1) applicationIdSuffix .majia3、打开侧边框的Build Variants
可以看到已经有了,选择对应的版本,就会生成不同版本的马甲APP4、资源替换
为了适应不同版本的马甲,您可以在src目录下创建与之前马甲包相同后缀的文件夹。例如,在app>src下创建一个名为majiabao1的文件夹(与app>src>main同级),然后在该文件夹中创建res目录。您可以参考main目录中的资源文件,并将相应的差异化资源放入这个新建立的res目录中。这里就不再进行演示了。
5、常见问题及解决
1.Manifest merger failed : Attribute application@label value=(@string/app_name)
原因:
原因是工程A和工程B中的AndroidManifest.xml文件中都使用了app name,合并manifest的过程出现了问题
应对策略:
添加 以下两句//B工程示例
版权声明:搭建盘口维护联系TG:@KT_code
还木有评论哦,快来抢沙发吧~