android studio多模組專案多渠道實現打包不同域名
阿新 • • 發佈:2019-01-24
①先說說自己專案遇到的情況
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中
第一次的部落格,將就了。希望能幫到一些人