Android Gradle 2.5如何让resConfigs工作

时间:2016-01-10 13:18:06

标签: android gradle android-ndk android-gradle

要在Android Studio中使用最新的NDK支持,您必须使用Gradle 2.5。 http://tools.android.com/tech-docs/new-build-system/gradle-experimental

其中介绍了一种新语法。例如。 buildToolsVersion" 23.0.1"成为buildToolsVersion =" 23.0.1"

对于GraCon 2.5之前的resConfigs,你可以写下它:

hGetChar

但是使用2.5,我找不到写逗号分隔字符串的方法。

即使我尝试使用一个字符串

 defaultConfig {
        ...
        resConfigs "en", "fr"
        }

我收到了这个错误 错误:没有这样的属性:类的resConfigs:com.android.build.gradle.managed.ProductFlavor

我需要这个,因为AppCompat有许多语言的翻译,我不支持ATM。

修改更新 我想到了如何以新格式输入字符串列表,例如

defaultConfig.with  {
        ...
        resConfigs = "fr"
        }

但是我仍然得到它没有识别resConfigs

的错误

使用 ./ gradlew --stacktrace assembleDebug 运行时输出

resConfigs = ["fr", "es"]

1 个答案:

答案 0 :(得分:2)

这对我有用:

| gradle-experimental version   | Gradle version | resConfigs usage                  |
|-------------------------------|----------------|-----------------------------------|
| 0.2.0                         | 2.5            | resourceConfigurations = ["fr"]   |
| 0.3.0-alpha5                  | 2.6            | resourceConfigurations = ["fr"]   |
| 0.6.0-alpha5                  | 2.10           | resourceConfigurations << "fr"    |

我没有得到的是,我查找了gradle-core-1.4.0-beta4的源代码,它是gradle-experimental:0.3.0-alpha5的依赖项,而productFlavor的DSL确实包含resConfig和{{}的代码1}}。在resConfigs

com.android.build.gradle.internal.dsl.ProductFlavor.java

我不确定为什么它没有被正确拾取。