【发布时间】:2014-11-28 16:00:08
【问题描述】:
我有 2 个版本的应用程序:付费应用程序和免费应用程序。我使用 gradle 和 Android Studio。
我有下一个文件夹结构:
src 文件夹,其中有 3 个文件夹:main、paidapp、freeapp - 其中paidapp 和 freeapp 是风味。
我的配置:
defaultConfig {
applicationId "com.company"
}
buildTypes {
debug {
applicationIdSuffix '.dev'
}
}
productFlavors {
freeapp {
}
paidapp {
applicationId 'com.company.paidapp'
}
}
我想要什么:在我的手机上有 4 个应用程序:
package com.company.dev, name "dev freeapp"
package com.company.paidapp.dev, name "dev paidapp"
package com.company, name "freeapp"
package com.company.paidapp, name "paidapp"
包没问题,gradle自动管理,但是如何给app创建不同的名字呢?
应用名称位于strings.xml
在src/paidapp/res/values/strings.xml:
<string name="appName">dev paidapp</string>
在src/freeapp/res/values/strings.xml:
<string name="appName">dev freeapp</string>
我看过 - http://tools.android.com/tech-docs/new-build-system/resource-merging
优先顺序如下: BuildType -> Flavor -> main -> 依赖项。
所以我可以从 BuildType 或 Flavor 中选择或字符串,但是如何结合 BuildType 和 Flavor?
【问题讨论】: