使用gradle同时打线上包和线下包动态替换url

时间:2022-11-26 14:45:10

使用gradle同时打线上包和线下包动态替换url
步骤

01 、

新建offline、online特性文件夹
注意:这里有个比较大的坑,如果建立超过一个的特性flavor文件夹,需要保证有且只有一个特性文件夹为resource folder,其他的均为普通的文件夹。截图里的online下面(绿色矩形框)的java 、okay、com、gradletest均为普通文件夹,而offline下面的java为resource folder,okay.com.gradletest为packagename。包名和文件夹的名称需要和main目录保持一致。
如不遵守这个原则,会出现找不到类或者类重复的错误。(本人在此处卡了很久很久很久,也尝试用其他方式去解决,但最终发现只有这种方式比较合适。谁有好的建议,可以一起探讨)
另外,在特性flavor文件夹下定义的类,在main目录是不应该存在的,否则也会出现类重复的情况。因为gradle在编译时,会把特性文件夹下的代码文件merge到main目录。

02

进行打包就可生成两个不同url的包

productFlavors {
offline{}
online{}
}