1先在gradle.properties文件中添加標識
這個標識無所謂自己知道定義就可以,我這里使用的是isMain=true.
true代表要作為一個application單獨運行
2 在目標module中添加debug目錄
有些人可能有疑惑,不要著急.帶著問題往下看,可能印象比較深刻吧.不過這里要注意一點
debug中的Manifest中的東西跟你app里面的Manifest一樣,除了package包名.因為它要作為一個單獨app運行,Manifest需要的東西必須一樣不能少.下邊的Manifest就是目標mudule當做library時使用的
3 定義build策略
這里要注意的是修改的是目標module的build,因為它本身是一個module,系統(tǒng)給它定的就是library,而要單獨運行時要定義為application
if (isMain.toBoolean()){
applyplugin:'com.android.application'//作為項目
}else{
applyplugin:'com.android.library'//作為module
}
上邊就是一個動態(tài)轉化,isMain就是前面定義的標識 true就是當做app單獨運行
然后就是定義module作為app運行時的applicationId
if (isMain.toBoolean()){
applicationId "module包名"
}
之后就是定義上面2個Manifest的問題了
上圖基本上就是定義對應加載的Manifest了.
4 修改主APP的build
因為目標module要作為app運行了 你原來定義的是作為module引入,這里判斷一下就可以了
if (!isMain.toBoolean()){
implementation project('目標module')
}
sync一樣 運行小三角左邊基本就可以選擇2個app運行了
5 針對module比較多的情形
上邊標識是Boolean 所以只能針對module少的情況,或者是測試點固定的情形.像如果是幾十個module都要單獨測試的話,就需要一些工作量了<主要是增加debug的文件Manifest的屬性配置>,這個工作量比起來長期編譯的時間基本可以忽略.主要是基本上一勞永逸吧.切換某個module為主app的標識可以用某個int數(shù)字實現(xiàn).只要自己定義好規(guī)則一一對應即可.如果說有gradle優(yōu)化的比較好的大佬可以下面指導我一下,感激不盡.