web-dev-qa-db-ja.com

Gradleビルドエラー:原因:org.gradle.api.internal.ExtensibleDynamicObject

' https://code.google.com/p/Android-serialport-api/ ' into 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'
     }
   }

  }

}
15
Susheel

変更してみてください

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

同じエラーが発生しましたが、これでうまくいきます。

30
user2535400

残念ながら、Android St​​udioでのネイティブコード開発をサポートするNDKプレビュー実装は、動くターゲットです。旧式のdeveloper.Android.comを使用していても、試験的なAndroid Gradleプラグイン(tools.Android.comから)とGradleバージョン(gradle.orgから)の「サポートされている」組み合わせ、幸運ビルドを機能させるために。代わりに、developers.Android.comによると、常に最新のリリースされた組み合わせと、示された最新のモジュールbuild.gradle言語構文を使用してください。

あなたのケースでは、代入演算子「=」と「+ =」を混在させて使用しています。使用しているGradleプラグインとGradleバージョンのサポートされる組み合わせに応じて、モジュールbuild.gradleファイル内のどこにでも代入演算子を使用するか、どこにも使用しないでください。一貫性がある必要があります。 「+ =」の場合は、代わりにメソッド「.add(...)」を使用してください。

そして、gradleスクリプト言語はJavaランタイムにコンパイルされるので、Javaエラーのようなビルドエラーが表示される場合は、gradleスクリプトが問題である可能性があります。

1
BoiseBaked

古いgradle構文から新しいgradle構文に正しく移動されていないパラメーターがあると、このエラーが発生しました

(持っていました cFlags "..." のではなく CFlags += "..."

見てください。 http://tools.Android.com/tech-docs/new-build-system/gradle-experimental

0
quertzuiopü