【发布时间】:2016-01-10 13:18:05
【问题描述】:
要在 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"
对于 Gradle 2.5 之前的 resConfigs,您可以编写它:
defaultConfig {
...
resConfigs "en", "fr"
}
但在 2.5 中,我找不到编写逗号分隔字符串的方法。
即使我尝试使用一个字符串
defaultConfig.with {
...
resConfigs = "fr"
}
我收到了这个错误 错误:没有这样的属性:类的 resConfigs:com.android.build.gradle.managed.ProductFlavor
我需要这个,因为 AppCompat 有许多我不支持 ATM 的语言的翻译。
编辑更新 我想出了如何以新格式输入字符串列表,例如
resConfigs = ["fr", "es"]
但我仍然收到它无法识别 resConfigs 的错误
当使用 ./gradlew --stacktrace assembleDebug 运行时,这里是输出
problem occurred configuring project ':app'.
> Exception thrown while executing model rule: model.android
> No such property: resConfigs for class: com.android.build.gradle.managed.ProductFlavor
* Exception is:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':app'.
at org.gradle.execution.TaskNameResolver.selfClosedTasksNode(TaskNameResolver.java:116)
at org.gradle.execution.TaskNameResolver.hasTask(TaskNameResolver.java:128)
at org.gradle.execution.TaskNameResolver.access$100(TaskNameResolver.java:38)
at org.gradle.execution.TaskNameResolver$MultiProjectTaskSelectionResult.collect(TaskNameResolver.java:195)
at org.gradle.execution.TaskNameResolver$MultiProjectTaskSelectionResult.collect(TaskNameResolver.java:203)
at org.gradle.execution.TaskNameResolver$MultiProjectTaskSelectionResult.collectTasks(TaskNameResolver.java:191)
at org.gradle.execution.TaskNameResolver.selectWithName(TaskNameResolver.java:61)
at org.gradle.execution.TaskSelector.getSelection(TaskSelector.java:87)
at org.gradle.execution.TaskSelector.getSelection(TaskSelector.java:75)
at org.gradle.execution.commandline.CommandLineTaskParser.parseTasks(CommandLineTaskParser.java:42)
at org.gradle.execution.TaskNameResolvingBuildConfigurationAction.configure(TaskNameResolvingBuildConfigurationAction.java:44)
at org.gradle.execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:51)
at org.gradle.execution.DefaultBuildConfigurationActionExecuter.access$000(DefaultBuildConfigurationActionExecuter.java:25)
at org.gradle.execution.DefaultBuildConfigurationActionExecuter$1.proceed(DefaultBuildConfigurationActionExecuter.java:57)
at org.gradle.execution.ExcludedTaskFilteringBuildConfigurationAction.configure(ExcludedTaskFilteringBuildConfigurationAction.java:47)
at org.gradle.execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:51)
【问题讨论】:
-
2.5 文档说 大多数 属性需要 = 运算符,你试过没有
=吗? -
是的,我尝试了旧方法,但 Gradle 无法构建,因为存在语法错误
-
你使用的是什么版本的
com.android.tools.build:gradle-experimental? -
你能用 --stacktrace 运行并发布你的堆栈跟踪吗?
-
我试过 'com.android.tools.build:gradle-experimental:0.2.0' 和 'com.android.tools.build:gradle-experimental:0.3.0-alpha5'跨度>
标签: android gradle android-ndk android-gradle-plugin