我想编译一个开源的android项目(Netguard)使用gradel (gradlew清洁构建)但我遇到了这个错误:

A problem occurred configuring project ':app'.
> Exception thrown while executing model rule: NdkComponentModelPlugin.Rules#cre
ateToolchains
   > No toolchains found in the NDK toolchains folder for ABI with prefix: llvm

我搜索了一下,但没有发现任何有用的东西。这是主要的build.gradle:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle-experimental:0.6.0-alpha1'
    }
}
allprojects {
    repositories {
        jcenter()
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}

这是构造。应用项目的Gradle:

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

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

        defaultConfig.with {
            applicationId = "eu.faircode.netguard"
            minSdkVersion.apiLevel = 21
            targetSdkVersion.apiLevel = 23
            versionCode = 2016011801
            versionName = "0.76"
            archivesBaseName = "NetGuard-v$versionName-$versionCode"
        }
    }
    android.ndk {
        moduleName = "netguard"
        toolchain = "clang"
        ldLibs.add("log")
    }
    android.sources {
        main {
            jni {
                source {
                    srcDir "src/main/jni/netguard"
                }
                exportedHeaders {
                }
            }
        }
    }
    android.buildTypes {
        release {
            minifyEnabled = true
            proguardFiles.add(file('proguard-rules.pro'))
            ndk.with {
                debuggable = true
            }
        }
    }
    android.buildTypes {
        debug {
            ndk.with {
                debuggable = true
            }
        }
    }
    android.productFlavors {
        create("all") {
        }
    }
}

dependencies {


compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.1.+'
    compile 'com.android.support:recyclerview-v7:23.1.+'
    compile 'com.squareup.picasso:picasso:2.5.+'
}

我使用gradle-2.9-all和android-ndk-r10e。我不知道我是否应该提到其他东西,所以如果你需要任何信息,请评论。


当前回答

对于Android Studio 3.2.1更新您的

Gradle版本4.6

Android插件版本3.2.1

其他回答

这个问题主要出现在你克隆以前的项目特别是从github。你能做的就是

将类路径更改为

classpath’com。android工具。构建:gradle: 1 3。2。

在你的项目级别gradle。

然后用实现改变所有的compile实例,除了compileSdkVersion,保持它在你的应用级gradle中。 现在点击创建项目(Ctrl+F9) 如果需要,添加谷歌maven存储库。 如果需要,升级gradle包装器。

(Android Studio IDE会在第4步和第5步中要求/指导你)

环顾四周后,解决方案是从我的首选项中删除NDK名称。

Android Studio→首选项→系统设置→Android SDK→SDK工具→取消选择NDK→应用按钮。

在那之后,Project和Gradle编译得很好,我可以继续我的项目工作。

至于为什么会发生这种情况,我不知道,但要了解更多关于NDK的信息,请查看:

如果你想在你的项目中添加NDK,那么按照以下步骤进行:

如果您使用SDK管理器安装NDK,请先卸载。(取消SDK工具并应用) 从官方网站手动下载NDK。(任何版本)如果项目旧,那么更喜欢版本17。 提取该文件。 到你的项目结构> NDK路径>添加提取文件路径这里。 构建项目。

这个问题的最佳解决方案是:

进入SDK管理器。 接下来选择SDK工具。 取消选择NDK(并排)。 Apply和OK。

我通过在SDK-Tools中卸载NDK来修复这个错误。 因此,如果您不需要NDK,请卸载它。