上一篇文章:使用 Gradle 对应用进行个性化定制 中使用到了 productFlavors,有同学评论在 Android Studio 3.0 上编译不了。

官方文档

官方说明

简单解释一下,'com.android.tools.build:gradle:3.0.0-alpha5' 插件 3.0.0 版本包含一个新的依赖机制,强制所有的 flavor 必须配置一个 flavor dimension

在上一篇文章的基础上,稍作修改:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//配置一个默认的 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 ,这样编译就没有问题了。

相关阅读

使用 Gradle 对应用进行个性化定制

使用 Gradle 实现一套代码开发多个应用

欢迎关注微信公众号:大脑好饿,更多干货等你来尝

公众号:大脑好饿