①先说说自己项目遇到的情况
1:项目多模块
2:项目配置域名的类不在app模块下
如图: 配置url的类在api模块下。
②实现方法
1:根据自身情况,在url配置模块下创建不同环境的文件夹。如:
(由于项目保密将包名打了下马赛克)。
2:创建域名基础类(提取公用的ip及端口号部分)
public class BaseWebUrl {
public static final ip = "http://xxxx";
public static final port = "8080";
}
3:修改url类代码
例:
public class WebUrl extends BaseWebUrl {
public static final url_login = ip + port + "xxxx";
}
4:在每个模块下的build.gradle文件的android代码块下增加
productFlavors {
_dev02 {
}
_test02 {
}
_uat03 {
}
_release {
}
}
注意每个模块下都需要增加该代码。
③编译直接运行时使用不同的环境
在android studio的build variants选项卡中的app模块选择不同的环境。等待编译完成后运行即可。
④打包
在flavors里选中不同的环境即可打包不同环境相同代码,可以部分勾选。
注意点:
由于多渠道打包替换文件不能覆盖已存在的文件,所以提取出公共类,再通过不同flavors替换不同的baseweburl文件到app中
第一次的博客,将就了。希望能帮到一些人