Gradle构build错误:原因:org.gradle.api.internal.ExtensibleDynamicObject

我正在尝试将“ https://code.google.com/p/android-serialport-api/ ”导入到Android Studio中。 由于这个项目涉及到ndk,我按照说明从以下链接构buildNDK: http : //tools.android.com/tech-docs/new-build-system/gradle-experimental

但build设后,我得到这个错误:Gradle项目刷新失败
错误:原因:org.gradle.api.internal.ExtensibleDynamicObject

编辑:我有2.5 gradle版本安装这里是我的build.gradle

apply plugin: 'com.android.model.application' model { android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig.with { applicationId = "android_serialport_api.sample" minSdkVersion.apiLevel = 17 targetSdkVersion.apiLevel = 22 android.ndk { moduleName = "serial_port" } android.buildTypes { release { minifyEnabled = false proguardFiles += file('proguard-rules.txt') } } android.productFlavors { create("all") } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } } } 

你可以尝试改变吗?

 compileSdkVersion 22 buildToolsVersion "22.0.1" 

 compileSdkVersion = 22 buildToolsVersion = "22.0.1" 

 release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } 

 release { minifyEnabled = false proguardFiles += file('proguard-rules.txt') } 

我有同样的错误,这对我的作品。

不幸的是,在Android Studio中支持本机代码开发的NDK预览实现是一个移动的目标。 即使你使用的是较老的版本,developers.android.com也表示“支持”了实验性的Android Gradle插件(来自tools.android.com)和Gradle版本(来自gradle.org)的组合,让构build起作用。 相反,根据developers.android.com,始终使用最新发布的组合和最新的指示模块build.gradle语言语法。

在你的情况下,混合使用赋值运算符“=”和“+ =”。 根据您使用的Gradle插件和Gradle版本的支持组合,它可以在模块build.gradle文件中使用任何地方的赋值操作符,也可以不使用 – 您必须是一致的,全部或全部不变。 对于“+ =”,请使用方法“.add(…)”。

请记住,Gradle脚本语言是编译到Java运行时的,所以当你看到一个看起来像Java错误的构build错误时,它可能是问题的gradle脚本。

我得到这个错误,当我有一个参数不正确的从旧的gradle语法移动到新的

(有cFlags "..."而不是CFlags += "..."

看看例如http://tools.android.com/tech-docs/new-build-system/gradle-experimental