当前位置: 首页 > 知识库问答 >
问题:

Gradle build Error:Cause: org.gradle.api.internal.ExtensibleDynamicObject

姜泳
2023-03-14

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

但是在构建后,我收到此错误: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'
     }
   }

  }

}

共有3个答案

西门马鲁
2023-03-14

当我的参数未正确从旧的 gradle 语法移动到新语法时,我收到此错误

(had cFlags " ... "而不是< code>CFlags = " ... ")

例如,请访问http://tools . Android . com/tech-docs/new-build-system/grad le-experimental

许自强
2023-03-14

不幸的是,在AndroidStudio中支持本机代码开发的NDK预览实现是一个移动目标。即使您使用的是较旧的developers.android。com表示,“支持”实验性Android Gradle插件(来自tools.Android.com)和Gradle版本(来自Gradle.org)的组合,祝构建成功。相反,始终使用最新发布的组合和最新指示的模块版本。根据developers.android.com的说法,分级语言语法。

在您的例子中,您混合使用赋值操作符,“=”和 " =". 根据您使用的gradle插件和gradle版本的支持组合,它要么在模块build.gradle文件中的任何地方使用赋值操作符,要么不使用任何地方——您必须保持一致,要么全部一致,要么什么都不使用。对于“=”,请使用方法“. add(…)”。

请记住,gradle脚本语言是编译到Java运行时的,所以当您看到一个看起来像Java错误的构建错误时,问题很可能出在gradle脚本上。

全誉
2023-03-14

你能尝试改变吗

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')
}

我也有同样的错误,这个对我有效。

 类似资料:

相关问答

相关文章

相关阅读