加快編譯速度html
在frameworkd模塊裏增長對dev模塊編譯的標識,用來控制是否調用growing等未被引入的代碼和開啓一些開發測試中的特殊功能。部分配置以下:java
DEV=true
複製代碼
buildConfigField "boolean", "DEV", DEV
複製代碼
if (!Boolean.parseBoolean(DEV)) {
classpath "com.growingio.android:vds-gradle-plugin:${GROWINGIO_VERSION}"
classpath "gradle.plugin.com.foo.myplugin:ajc:2.0.7"
}
複製代碼
if (!Boolean.parseBoolean(DEV)) {
apply plugin: "org.wellijohn.greeting"
apply plugin: 'com.growingio.android'
apply from: 'tinker.gradle'
}
複製代碼
public static boolean isDev() {
return BuildConfig.DEV;
}
複製代碼
在dev模塊中引入模塊配置,根據gradle.properties配置只編譯須要改動的模塊android
implementation project(':framework')
// 用戶模塊依賴導入
if (Boolean.parseBoolean(USER)) {
implementation(project(':user'))
} else {
implementation("包名:user:${APP_VER_NAME_M}")
}
// 商品模塊依賴導入
if (Boolean.parseBoolean(GOODS)) {
implementation(project(':goods'))
} else {
implementation("包名:goods:${APP_VER_NAME_M}")
}
// 訂單模塊依賴導入
if (Boolean.parseBoolean(ORDER)) {
implementation(project(':order'))
} else {
implementation("包名:order:${APP_VER_NAME_M}")
}
// 引導模塊依賴導入
if (Boolean.parseBoolean(GUIDE)) {
implementation(project(':guide'))
} else {
implementation("包名:guide:${APP_VER_NAME_M}")
}
// 違章查詢模塊依賴導入
if (Boolean.parseBoolean(ILLEGAL)) {
implementation(project(':illegal'))
} else {
implementation("包名:illegal:${APP_VER_NAME_M}")
}
// 評價模塊依賴導入
if (Boolean.parseBoolean(EVALUATE)) {
implementation(project(':evaluate'))
} else {
implementation("包名:evaluate:${APP_VER_NAME_M}")
}
// 加油模塊依賴導入
if (Boolean.parseBoolean(REFUEL)) {
implementation(project(':refuel'))
} else {
implementation("包名:refuel:${APP_VER_NAME_M}")
}
// 保養模塊依賴導入
if (Boolean.parseBoolean(MAINTENANCE)) {
implementation(project(':maintenance'))
} else {
implementation("包名:maintenance:${APP_VER_NAME_M}")
}
// 門店模塊依賴導入
if (Boolean.parseBoolean(STORE)) {
implementation(project(':store'))
} else {
implementation("包名:store:${APP_VER_NAME_M}")
}
// 愛車模塊依賴導入
if (Boolean.parseBoolean(CAR)) {
implementation(project(':car'))
} else {
implementation("包名:car:${APP_VER_NAME_M}")
}
複製代碼
設置。快速,實時的修改配置git
<activity
android:name=".SettingsActivity"
android:label="Settings"
android:launchMode="singleInstance"
android:taskAffinity="主包名.test"
android:theme="@android:style/Theme.DeviceDefault">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
複製代碼