Gradle Error:原因:尝试NDK时org.gradle.api.internal.NamedDomainObjectContainerConfigureDelegate

时间:2016-06-12 03:40:15

标签: android android-ndk java-native-interface

使用NDK添加库时出现Gradle错误。它在同步项目时显示错误:原因:org.gradle.api.internal.NamedDomainObjectContainerConfigureDelegate。

的build.gradle(APP)

apply plugin: 'com.android.model.application'

Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
def superpowered_sdk_path = properties.getProperty('superpowered.dir')

model {
    repositories {
        libs(PrebuiltLibraries) {
            superpowered { // this is where you declare the "superpowered" static library
                headers.srcDir "${superpowered_sdk_path}"
                binaries.withType(StaticLibraryBinary) { // attaching library files to each platform
                    def platformName = targetPlatform.getName()
                    if (platformName == "armeabi-v7a") {
                        staticLibraryFile = file("${superpowered_sdk_path}/libSuperpoweredAndroidARM.a")
                    } else if (platformName == "arm64-v8a") {
                        staticLibraryFile = file("${superpowered_sdk_path}/libSuperpoweredAndroidARM64.a")
                    } else if (platformName == "x86") {
                        staticLibraryFile = file("${superpowered_sdk_path}/libSuperpoweredAndroidX86.a")
                    } else if (platformName == "x86_64") {
                        staticLibraryFile = file("${superpowered_sdk_path}/libSuperpoweredAndroidX86_64.a")
                    }
                }
            }
        }
    }

android {
    compileSdkVersion = 23
    buildToolsVersion = "23.0.2"

    defaultConfig {
        applicationId ="com.rhynoid.myapplication"
        minSdkVersion.apiLevel = 19
        targetSdkVersion.apiLevel =  23
        versionCode 1
        versionName "1.0"
    }
}
    buildTypes {
        release {
            minifyEnabled false
            //proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            proguardFiles += file('proguard-rules.txt')
        }
    }
    android.ndk { // your application's native layer parameters
        moduleName = "SuperpoweredExample"
        platformVersion = 19
        stl = "c++_static"
        CFlags.addAll(["-O3", "-fsigned-char"]) // full optimization, char data type is signed
        cppFlags.addAll(["-fexceptions", "-fsigned-char", "-I${superpowered_sdk_path}".toString()])
        ldLibs.addAll(["log", "android", "OpenSLES"]) // load these libraries: log, android, OpenSL ES (for audio)
        abiFilters.addAll(["armeabi-v7a", "arm64-v8a", "x86", "x86_64"]) // these platforms cover 99% percent of all Android devices
    }

    android.sources.main.jni {
        source {
            srcDir "jni"
            srcDir "${superpowered_sdk_path}/AndroidIO"
        }
        dependencies {
            library "superpowered" linkage "static" // this is where you attach the "superpowered" static library to your app
        }
    }

}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
}

的build.gradle(所有MyApplication)

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle-experimental:0.7.0-alpha4'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

local.properties

ndk.dir=C\:\\Users\\Shameem\\AppData\\Local\\Android\\sdk\\ndk-bundle
sdk.dir=C\:\\Users\\Shameem\\AppData\\Local\\Android\\sdk
superpowered.dir=C\:\\Users\\Rhynoid\\Downloads\\Compressed\\SuperpoweredSDK\\SuperpoweredSDK\\Superpowered

gradle-wrapper.properties

#Mon Dec 28 10:00:20 PST 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip

0 个答案:

没有答案