- 在src文件夾下面創建channelOne和channelTwo文件夾並創建package
src/channelOne/java/com/jack/appdemo/...
src/channelTwo/java/com/jack/appdemo/...
2. 創建兩個一樣的文件,例如Config.kt
//channelOne
class Config {
companion object {
const val SERVER = "192.168.1.1"
}
}
//channelTwo
class Config {
companion object {
const val SERVER = "192.168.1.2"
}
}
3. 在main裏面使用
class MainActivity... {
fun onCreate(...) {
val server = Config.SERVER
}
}
4. 配置app的build.gradle
android {
defaultConfig {
applicationId "com.jack.appdemo"
...
dimension "default"
}
...
flavorDimensions "default" //名字隨便取,一定要有
productFlavors {
channelOne {
applicationId "com.jack.appdemo.channelone"
minSdkVersion 17
targetSdkVersion 29
versionCode 1
versionName "1.0"
dimension "default"
}
channelOne {
applicationId "com.jack.appdemo.channelone"
minSdkVersion 17
targetSdkVersion 29
versionCode 1
versionName "1.0"
dimension "default"
}
}
android.applicationVariants.all {
variant ->
variant.outputs.all {
//在這裏修改apk文件名
outputFileName = "DiffApk_${variant.productFlavors[0].name}_v${variant.versionName}_${releaseTime()}.apk"
}
}
}
def releaseTime() {
return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))
}
5. 打包apk,會生成兩個不同名字的apk
AppDemo/app/channelOne/release/AppDemo-ChannelOne-v1.0.apk
AppDemo/app/channelTwo/release/AppDemo-ChannelTwo-v1.0.apk
6. 調試不同渠道 打開Android Studio左側的Build Variants,在你要調試的應用裏選擇你要調試的渠道版本,如下圖