我想使用gradel(gradlew clean build
)编译一个开源的android项目(Netguard)但是我遇到了这个错误:
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
我没有找到任何帮助。这是主要的qazxsw poi:
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
}
项目的build.gradle
:
app
我正在使用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
。我不知道是否应该提及其他任何内容,如果您需要任何信息,请发表评论。
两年过去了,现在如果你遇到这里,你可能会遇到如下错误信息:
在带有前缀mips64el-linux-android的ABI的NDK工具链文件夹中找不到工具链
要么
在带有前缀mipsel-linux-android的ABI的NDK工具链文件夹中找不到工具链
最新的NDK删除了对android-ndk-r10e
abi的支持,而android gradle插件的earler版本仍然检查mips工具链的存在。 mips
。
解决方案:将android gradle插件升级到3.1或更高版本。
例如在项目级别gradle [28-Sept-2018]中添加以下内容
see here for more info
解决方法:创建 classpath "com.android.tools.build:gradle:3.2.0"
文件夹结构以欺骗工具。最简单的方法是与mipsel-linux-android
的符号链接。
aarch64-linux-android-4.9
检查# on Mac
cd ~/Library/Android/sdk/ndk-bundle/toolchains
ln -s aarch64-linux-android-4.9 mips64el-linux-android
ln -s arm-linux-androideabi-4.9 mipsel-linux-android
的这个主题
Android NDK 18.0 *似乎有一个问题,即在提取后没有在文件夹中创建所有文件。因此,您的应用程序编译将失败,使用ndk构建。
更好的是使用NDK 17.1 *( dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}
)等版本,你可以提取或使用android studio提取到默认情况下ndk-bundle工作正常。
打开Android Studio,转到工具然后Android然后SDK,取消选中NDK如果你不需要这个,重启android studio。
[https://developer.android.com/ndk/downloads/
对于尝试这个例子并面临最新NDK问题的人。可以遵循此解决方案。在build.gradle中更改此内容
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android][1]
至
classpath 'com.android.tools.build:gradle:3.0.1'
原因是在最新的ndk版本中不推荐使用mips,Gradle版本3.1.2不会对mips有强制性。它假设存在这些丢失的文件夹。
在您的项目级别Gradle文件中将依赖类classpath版本从低到高增加
classpath 'com.android.tools.build:gradle:3.1.2'
变得像
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
}
通过在dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}
(Project:ProjectName)中的两个存储库中添加google()
依赖项解决了这个问题。然后同步你的项目
build.gradle
简单的解决方案是下载并解压缩包含mips64el-linux-android-4.9和mipsel-linux-android-4.9文件夹的以下文件到sdk“android-sdk \ ndk-bundle \ toolchains”中的toolchains文件夹。
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
我遇到了类似的问题,但由于项目要求,我想使用NDK版本r9d。
在Downlod this file and extraxt to toolchains foolder,路径设置为local.properties
,但这导致了问题:
ABI的NDK工具链文件夹中找不到工具链,前缀为:[toolchain-name]
解决方案是:
ndk.dir=C\:\\Android\\ndk\\android-ndk-r9d
到sdk\ndk-bundle\toolchains
在我看来,复制的工具链没有被使用,但出于某种原因需要它们才能存在。
我通过unInstall ndk解决了这个问题,因为我不需要它
这是修复。
在android studio中编译项目时,我偶尔会遇到:
错误:在ABI的NDK工具链文件夹中找不到工具链,前缀为:arm-linux-androideabi / llvm
这可能是由更新相关组件引起的。解决方案是Android studio(工具 - > Android - > SDK Manager)。选择ndk项并删除它。如果程序需要它,您可以重新安装它。这将确保文件夹位置正确,并且不会出现此类问题。
像我一样解决它
Android Studio文件>项目结构并转到项目
将Gradle版本更改为4.6和Android插件版本更改为3.2.1
\ndk\android-ndk-r9d\toolchains
然后清理项目,如果你有这个错误“找不到aapt2-proto.jar”
去build.gradle(项目)
尝试将google()方法(.gradle文件)移动到其执行块的顶部,它搜索的存储库顺序会导致问题。
例如,改变这个:
check screenshot
对此:
repositories {
maven { url 'https://maven.fabric.io/public' }
google() <=== from here
mavenCentral()
}
在“buildscript”和“allprojects”中进行这些更改
repositories {
google() <=== to here
maven { url 'https://maven.fabric.io/public' }
mavenCentral()
}
如果你没有找到谷歌()添加它
升级您的Gradle插件
three options for solving this kind of issue
如果您现在收到此错误:
classpath 'com.android.tools.build:gradle:3.2.1'
只需将google()添加到您的存储库,如下所示:
Could not find com.android.tools.build:gradle:3.2.1.
快乐编码 - :)
对于Android Studio 3.2.1更新您的
Gradle版本4.6
Android插件版本3.2.1
问题主要发生在你从github克隆一个以前的项目时。你能做的是
classpath'com.android.tools.build:grad:3.2.1'
在你的项目级别gradle。
(对于步骤4和5,Android Studio IDE会询问/指导您
它修复!!享受编码
注意:这个答案似乎特定于:check screenshot,但它在这里链接:
* No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
来自NDK r19b:
https://stackoverflow.com/questions/52193274/no-toolchains-found-in-the-ndk-toolchains-folder-for-abi-with-prefix-mips64el-l
more ~/Android/Sdk/ndk-bundle/CHANGELOG.md
这样的错误,请将项目文件更新为[使用插件版本3.1或更新版本]。您还需要升级到Android Studio 3.1或更高版本。如果您不使用NDK,请取消设置环境变量No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
。
对我来说,我认为从android studio安装android NDK可能存在一些问题。我能够通过以下方式解决这个问题
从...下载的android ndk
ANDROID_NDK_HOME
并放在ndk-bundle(安装了你的android sdk的地方)里面。有关详细信息,请查看此屏幕。
如果你正在使用Ionic 3从android studio sdk工具中删除ndk。
找到你自己的本地android-SDK,如果下载ndk的相关SDK,会有一个名为“ndk-bundle”的文件夹
https://app.box.com/s/dfi4h9k7v4h0tmbu3z9qnqx3d12fdejn
里面有一个名为“toolchains”的文件夹。
我们注意到里面没有mips64el相关文件。
解决方案如下:
通过浏览器单独下载NDK软件包。解压缩后,打开“toolchains”文件夹,将其与android-sdk-> ndk-bundle-> toolchains文件夹进行比较,找到丢失的文件夹,复制过去3.重新编译,问题解决了。希望它可以帮助你交配
面对同样的问题。
我取得了成功。
打开buldle.gradle文件并升级以下两个类路径的版本
classpath'com.android.tools.build:grad:3.2.1'classpath'com.google.gms:google-services:4.2.0'
然后同步并在获得一个dilaog更新Gradle版本之后,然后单击该链接并等待下载所有必需的更新(希望互联网可用)。经过很长一段时间,你获得了成功。
首先,尝试更新ndk版本Click here
如果那不起作用,那么您可以尝试以下方法:
希望能帮助到你!!
我按照以下步骤修复问题,
https://developer.android.com/ndk/downloads/
Analyze -> Code Cleanup
File -> Project Structures -> Select project from the list and update the gradle version to latest.
Build -> Clean Project
现在可以报告与构建相关的问题,比如使用编译而不是实现等。
请修复这些,希望它能解决问题。
我通过在SDK-Tools中卸载NDK来修复此错误。因此,如果您不需要NDK,请将其卸载。
我通过重新安装NDK解决了这个问题。
我在Windows 8机器中将Android Studio从2.0升级到2.1时遇到了同样的问题。
我找到了解决方案。请使用以下步骤。
repositories {
google()
jcenter()
}
下载Android NDK for Windows。发生这种情况是因为Android studio不会在稳定通道中获得完整的NDK更新。如果您没有在项目开发中使用NDK,只需从SDK目录中删除NDK文件夹即可。
错误消息:“没有工具链在NDK工具链文件夹中找到ABI,前缀为:llvm”。
在使用NDK进行Android Studio新安装后,我导入了一个Android代码示例,该示例使用了GitHub中的NDK并尝试编译它。
结果有一个错误:
在带有前缀:llvm的ABI的NDK工具链文件夹中找不到工具链
解决方案:由于某些原因,macOS上的标准安装过程无法安装完整集:
https://developer.android.com/ndk/downloads/index.html用所有工具错过了文件夹~/Library/Android/sdk/ndk-bundle
,
(它应该是这样的:toolchains
)
解决方案是单独下载NDK,打开它,复制文件夹~/Library/Android/sdk/ndk-bundle/toolchains
并将其粘贴到该文件夹:
toolchain
之后,它对我很有用。
一步步:
1)使用旧的NDK版本打开页面:
~/Library/Android/sdk/ndk-bundle
https://developer.android.com/ndk/downloads/older_releases
2)同意条款:
NDK
5)将您需要的文件从下载的zip文件的toolchains
文件夹传输到toolchains
文件夹:
toolchains
6)重建项目:
UPD 30 2018年9月: 我使用Android NDK Revision r16b修复了我自己的错误。所以我用这个版本展示了这个例子。 但最好使用Android NDK,版本r17c(2018年6月)。这是最后一个,支持mips(从Weekend的评论中得到合理的推荐)。
我卸载了NDK,因为我不需要它。转到Android工作室的SDK管理器(工具 - > Android - > SDK管理器)。如果安装了NDK。只需取消选中该框,然后单击“确定”。已删除的组件将被删除。
在我的情况下,创建一个新的Android Studio(Android工作室3.2.1)Java项目时出现此错误
windows-x86_64
所以我降级为
classpath 'com.android.tools.build:gradle:2.0.0-beta6'
不是最好的解决方案留在旧版本,但可能只是测试中的一个临时错误,因为local.properties中的NDK路径仍然相同,但IDE不再抱怨