这是build.gradle文件

   apply plugin: 'com.android.application'

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

            defaultConfig.with {
                applicationId = "org.artoolkit.ar.samples.ARSimpleNativeCars"
                minSdkVersion.apiLevel = 15
                targetSdkVersion.apiLevel = 22
                versionCode = 1
                versionName = "1.0.2"
                buildConfigFields.with {
                    create() {
                        type = "int"
                        name = "VALUE"
                        value = "1"
                    }
                }

                ndk.with {
                    moduleName = "ARSimpleNativeCars"
                }
            }
        }

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

        android.productFlavors {
        }

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

        android.compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
    }

    dependencies {
        //compile 'com.android.support:support-v4:23.0.1'
        //compile 'com.android.support:appcompat-v7:23.0.1'
        compile project(':aRBaseLib')
    }


这是顶层build.gradle文件

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
    }

    dependencies {

        repositories {
            mavenCentral()
        }
        classpath 'com.android.tools.build:gradle:2.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        jcenter()
    }
}


这是我正在尝试运行的ARToolkit示例android项目
每当我尝试运行此项目时,都会说

Gradle 'ARSimpleNativeCarsProj' project refresh failed

Error: Cause: buildToolsVersion is not specified.

apply plugin: 'com.android.application' <---- in this line it is actually

apply plugin: 'com.android.model.application' which if I kept it keep saying
failed to find plugin com.android.model.application


但是如果我从插件部分删除模型
它说未指定buildToolsVersion。

提前感谢...

最佳答案

首先,您需要保留模型。该模型引用了新的实验性Gradle插件,该插件支持Android Studio中的本机代码。有关更多详细信息,请参见此处:
http://tools.android.com/tech-docs/new-build-system/gradle-experimental

如果删除模型,则将找不到buildToolsVersion,因为旧的(当前)gradle版本在DSL中没有“模型”。因此,您需要从gradle.build文件中删除完整的'model {...}'部分。但是您需要它,因为否则您将无法构建该项目。 (所以这只是一个旁注)

而且您的顶级gradle文件实际上应该看起来像这样

buildscript {
  repositories {
      jcenter()
  }

dependencies {
    classpath 'com.android.tools.build:gradle-experimental:0.7.0'

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


我想知道为什么您还有另一个gradle版本。

除此之外,请阅读本文档,以开始使用本机C / C ++代码和NDK开发Android。
http://artoolkit.org/documentation/doku.php?id=4_Android:android_native

让我知道这是否有帮助

10-07 19:19
查看更多