上一篇文章:使用 Gradle 對應用進行個性化定製 中使用到了 productFlavors
,有同學評論在 Android Studio 3.0 上編譯不了。
官方文件:
簡單解釋一下,'com.android.tools.build:gradle:3.0.0-alpha5'
外掛 3.0.0 版本包含一個新的依賴機制,強制所有的 flavor
必須配置一個 flavor dimension
。
在上一篇文章的基礎上,稍作修改:
//配置一個預設的 flavorDimensions
flavorDimensions "SERVER"
productFlavors {
offline {
dimension "SERVER" //設定
buildConfigField "String", "DOMAIN_NAME", "\"https://offline.domain.com/\""
versionName getTestVersionName() //修改 versionName
}
online {
dimension "SERVER"
buildConfigField "String", "DOMAIN_NAME", "\"https://online.domain.com/\""
}
admin {
dimension "SERVER"
buildConfigField "String", "DOMAIN_NAME", "\"https://admin.domain.com/\""
versionName rootProject.ext.APP1_VERSION_NAME + "-管理員" //修改 versionName
manifestPlaceholders.UMENG_CHANNEL_VALUE = "admin" //修改渠道名
}
}複製程式碼
主要就是給 flavor
設定預設的 Dimension
,這樣編譯就沒有問題了。