尝试从规则android.sources {...}

时间:2016-10-19 09:50:06

标签: android android-gradle android-augmented-reality

所以我想使用增强现实SDK ARToolkit

不幸的是,给定的代码示例有点过时(使用gradle 0.8和stuff)所以我必须稍微修改gradle文件。

我现在收到以下错误:

Error:Attempt to read property 'main' from a write only view of model element 'android.sources' given to rule android.sources { ... } @ aRMarkerDistance\build.gradle line 23, column 5

第23行是android.sources行。

Gradle文件:

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

model {
    android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.2"

    defaultConfig.with {
        applicationId = "org.ar.artoolkit.org.ARMarkerdistance"
        minSdkVersion.apiLevel = 15
        targetSdkVersion.apiLevel = 22
        versionCode = 104
        versionName = "1.0.4"
    }

}
android.buildTypes {
    release {
        minifyEnabled = false
        proguardFiles.add(file('proguard-rules.pro'))
    }
}
android.sources {
    main.jni {
        source {
            srcDirs = ['src/main/nop']
        }
    }
    main.jniLibs {
        source {
            srcDirs = ['src/main/libs']
        }
    }
}
}

dependencies {
    compile project(':aRBaseLib')
}

如果可以,请帮忙。

1 个答案:

答案 0 :(得分:8)

原因

在gradle实验中,语法已从main.jni更改为main {jni {}}。 有关最新信息的详细信息,请访问以下链接:http://tools.android.com/tech-docs/new-build-system/gradle-experimental

解决方案

要解决此问题,请使用以下内容替换以下gradle android.source:

android.sources {
    main {
        jni {
            source {
                srcDirs = ['src/main/nop']
            }
        }
    }
    main {
        jniLibs {
            source {
                srcDirs = ['src/main/libs']
            }
        }
    }
}