web-dev-qa-db-ja.com

Error:プレフィックスがllvmのABIのNDK toolchainsフォルダにツールチェーンが見つかりません

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

私は捜したが、何も助けにはならなかった。これがメインの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
}

そしてこれがappプロジェクトのbuild.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-allAndroid-ndk-r10eを使っています。私が他に何か言及するべきかどうか私は知らないので、あなたが何か情報が必要な場合はコメントしてください。

179
Saeed

2年が経ちました、今ここに出くわすならば、あなたはおそらくこのようなエラーメッセージに遭遇するかもしれません:

プレフィックスmips64el-linux-Androidを持つABIのNDK toolchainsフォルダにツールチェーンが見つかりません

または

プレフィックスがmipsel-linux-AndroidのABIのNDK toolchainsフォルダにツールチェーンが見つかりません

最新のNDKはmips abiのサポートを削除し、それ以前のバージョンのAndroid gradleプラグインはまだmipsツールチェーンの存在を確認しています。 詳細はここを見てください

解決策 :Android gradleプラグインを3.1以降にアップグレードしてください。

例えばプロジェクトレベルのグラドルに以下を追加してください[28-Sept-2018]

 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

この種の問題を解決するには、 3つのオプション のこのスレッドをチェックしてください

319
lazybug

Android Studio 3.2.1以降の場合

Gradleプラグインをアップグレードする

classpath 'com.Android.tools.build:gradle:3.2.1'

このエラーが発生した場合

Could not find com.Android.tools.build:gradle:3.2.1.

次のように、リポジトリにgoogle()を追加するだけです。

repositories {
    google()
    jcenter()
}

ハッピーコーディング - :)

56
Nikunj Paradva

私はSDKツールでNDKをアンインストールすることによってこのエラーを修正しました。そのため、NDKが不要な場合は、アンインストールします。

50
Herzi

私のWindows 8マシンで2.0から2.1にAndroidスタジオをアップデートしている間、私は同じ問題に直面しました。

私はそのための解決策を見つけました。次のステップを使ってください。

  1. https://developer.Android.com/ndk/downloads/index.html からWindows用Android NDKをダウンロードします。
  2. 同じファイルを解凍し、バンドルから「toolchain」フォルダをコピーします。
  3. C:\ Android-sdk-win\ndk-bundleの下のインストール済みNDKフォルダーの下にフォルダーを貼り付けます[インストールされたパスは、インストールによって異なります]。
  4. Androidスタジオを再起動します。

これはAndroid Studioが安定版チャンネルでフルNDKアップデートを受け取らないために起こっています。プロジェクト開発にNDKを使用していない場合は、SDKディレクトリからNDKフォルダを削除するだけで済みます。

34
Nithinjith

エラーメッセージ:「ABKのNDK toolchainsフォルダにプレフィックスがllvmのツールチェーンは見つかりませんでした」。

NDKを使用してAndroid Studioを新しくWebインストールした後、GitHubからNDKを使用するAndroidコードサンプルをインポートし、それをコンパイルしようとしました。

その結果、エラーが発生しました。

プレフィックスがllvmのABIのNDK toolchainsフォルダにツールチェーンが見つかりません

解決策: 何らかの理由でmacOSへの標準インストールプロセスが完全なセットをインストールできなかった。

~/Library/Android/sdk/ndk-bundleはすべてのツールでフォルダtoolchainsを見逃していました、

(これは次のようになります:~/Library/Android/sdk/ndk-bundle/toolchains

解決策は、NDKを個別にダウンロードして開き、フォルダtoolchainをコピーしてフォルダに貼り付けることです。

~/Library/Android/sdk/ndk-bundle

その後それは私のためにうまくいった。

29
user6427706

ステップバイステップ:

1) 古い _ ndk _ versionsでページを開く:

https://developer.Android.com/ndk/downloads/older_releases

enter image description here

2) 規約に同意する

enter image description here

3) NDKの古いバージョンをダウンロードします(例えば16b):

enter image description here

4) toolchainsディレクトリを開きます。

5) ダウンロードしたZipファイルのtoolchainsフォルダから必要なファイルをtoolchainsフォルダに転送します。

enter image description here

6) プロジェクトを再ビルドする:

enter image description here


2018年9月30日UPD:
私は自分の場合この問題を解決するためにAndroid NDK Revision r16bを使用しました。だから私はこのバージョンで例を紹介します。
しかし、Android NDKのRevision r17c(2018年6月)を使うのが良いでしょう。それは最後のもので、ミップをサポートしています(週末のコメントからの合理的なお勧め)。

22
V.March

何もダウンロード、コピー、シンボリックリンクせずに、古いバージョンのAndroid Gradleプラグインが削除されたmipsツールチェーンを期待する空のディレクトリを作成するだけで、エラーを「修正」することができました。

mkdir -p $Android_HOME/ndk-bundle/toolchains/mips64el-linux-Android/prebuilt/linux-x86_64

明らかに、$Android_HOMEはここでAndroid SDKインストールのルートを指しています。 MacOSを使用している場合 、上記のコマンドでlinux-x86_64darwin-x86_64に置き換えます。 Windowsではwindows-x86_64を使用してください。

14
friederbluemle

不要なのでNDKをアンインストールしました。 Android StudioのSDKマネージャに移動します([ツール] - > [Android] - > [SDKマネージャ])。 NDKがインストールされている場合チェックボックスをオフにして[OK]をクリックするだけです。インストールされたコンポーネントは削除されます。

10
diptia

私の場合、このエラーは新しい/を作成するときに発生しました Android Studio(Android studio 3.2.1) Java Project with

    classpath 'com.Android.tools.build:gradle:2.0.0-beta6'

だから私はにダウングレードしました

       dependencies {
        classpath 'com.Android.tools.build:gradle:3.2.1'
      }

最善の解決策は古いバージョンのままではありませんが、 local.properties のNDKパスはまだ同じであるため、ベータ版の一時的なバグにすぎませんが、IDEは文句を言いませんもう

8

Android NDK 18.0 *では、抽出後にフォルダ内のすべてのファイルが作成されないという問題があります。そのため、ndkビルドを使用するアプリケーションのコンパイルは失敗します。

より良いのはNDK 17.1 *( https://developer.Android.com/ndk/downloads/ )などのバージョンを使用することです。デフォルトでndkバンドルにAndroidスタジオ抽出を抽出または使用することができます。

6
appapurapu

[ https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/Android][1]

この例を試して、最新のNDKに関する問題に直面している人々のために。この解決策に従うことができます。 build.gradleでこれを変更

classpath 'com.Android.tools.build:gradle:3.0.1'

classpath 'com.Android.tools.build:gradle:3.1.2'

その理由は、最新のndkバージョンではmipsが非推奨になっているためです。Gradleバージョン3.1.2にはmipsに対する強制はありません。これらの見つからないフォルダが存在することを前提としています。

4
Sujith Royal

Android Studioを開き、[ツール]、[Android]、[SDK]の順に選択し、必要でなければ[NDK]のチェックを外して、Android Studioを再起動します。

4
Muhammad Bilal

プロジェクトレベルのGradleファイルで、依存関係クラスパスのバージョンを低いものから高いものへと上げます。

dependencies {
        classpath 'com.Android.tools.build:gradle:3.0.0'
    }

のように変わる

dependencies {
        classpath 'com.Android.tools.build:gradle:3.2.1'
    }
3
Karthikrider

build.gradle(Project:ProjectName)の両方のリポジトリにgoogle()依存関係を追加することで解決しました。次にプロジェクトを同期します

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()
    }
}
3
Zain

私は同様の問題を抱えていましたが、プロジェクト要件のためにNDKバージョンr9dを使いたかったのです。

local.propertiesでは、パスはndk.dir=C\:\\Android\\ndk\\Android-ndk-r9dに設定されていましたが、問題が発生します。

プレフィックス:[toolchain-name]を持つABIのNDK toolchainsフォルダにツールチェーンが見つかりません

解決策は以下のとおりです。

  1. Sdkマネージャを使って最新のNDKをインストールする
  2. 不足しているツールチェーン[toolchain-name]を新しいndkから古いものにコピーします。私の場合はsdk\ndk-bundle\toolchainsから\ndk\Android-ndk-r9d\toolchains
  3. 必要なツールチェーンがすべて揃うまでこのプロセスを繰り返します。

コピーされたツールチェーンは使用されていないようですが、何らかの理由でそれらが存在する必要があります。

2
Marcin Kunert

注:この答えはNo toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-Androidに固有のものと思われますが、ここでは次のリンクによってリンクされていました:

* https://stackoverflow.com/questions/52193274/no-toolchains-found-in-the-ndk-toolchains-folder-for-abi-with-prefix-mips64el-l

NDK r19bから:

more ~/Android/Sdk/ndk-bundle/CHANGELOG.md
  • このバージョンのNDKは、Android Gradleプラグインバージョン3.0以降とは互換性がありません。 No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-Androidのようなエラーが表示された場合は、プロジェクトファイルを[use plugin version 3.1 or later]に更新してください。また、Android Studio 3.1以降にアップグレードする必要があります。
2
nikc

私がやったようにそれを修正するには

Android Studio File>プロジェクト構造とプロジェクトへ

gradleのバージョンを4.6、Androidのプラグインのバージョンを3.2.1に変更

スクリーンショットを確認します

あなたはこのエラーが発生した場合それからプロジェクトをきれいにしてください "aapt2-proto.jarが見つかりません"

build.gradle(プロジェクト)に行きます

Google()メソッド(.gradleファイル)を実行ブロックの一番上に移動すると、検索されるリポジトリの順序が問題になるため、.

たとえば、これを変更します。

repositories {
  maven { url 'https://maven.fabric.io/public' }
  google()      <===  from here
  mavenCentral()
}

これに:

repositories {
  google()     <===  to here
  maven { url 'https://maven.fabric.io/public' }
  mavenCentral()
}

「buildscript」と「allprojects」の両方でこれらの変更を加えます。

スクリーンショットを確認します

Google()が見つからない場合は追加してください

2
Bachlil

この質問はunInstall ndkで解決しました

2
alpha

Android Studio 3.2.1の場合

Gradleのバージョン 4.6

Androidプラグイン版 3.2.1

2
Masum

あなたが特別にgithubから以前のプロジェクトを複製しているとき、問題は大部分来ます。できることは

  1. クラスパスをに変更します。

クラスパス 'com.Android.tools.build:gradle:3.2.1'

プロジェクトレベルで.

  1. それから、 compileSdkVersion を除いて、すべてのコンパイルのインスタンスを実装で変更してください。それはあなたのアプリケーションレベルの問題であるのでそのままにしてください。

  2. 今すぐ同期 の代わりに プロジェクトを作成(Ctrl + F9)

  3. 必要に応じてGoogle Mavenリポジトリを追加してください。

  4. 必要に応じてグラドルラッパーをアップグレードしてください。

(Android Studio IDEは、手順4と5で同じように質問します。)

それは修正します!コーディングを楽しむ

2
Aakash Birari

簡単な解決策は、ダウンロードして、mips64el-linux-Android-4.9およびmipsel-linux-Android-4.9フォルダーを含む「Android-sdk\ndk-bundle\toolchains」内のtoolchainsフォルダーに解凍することです。

このファイルをダウンロードし、ツールチェーンへ追加テキストを追加する

2
Yazdan Sharifi

これが修正です。

Androidスタジオでプロジェクトをコンパイルするとき、私は時々遭遇します:

エラー:プレフィックス:arm-linux-androideabi/llvmの付いたABIのNDK toolchainsフォルダにツールチェーンが見つかりません

これは、関連コンポーネントを更新したことが原因である可能性があります。解決策はAndroidスタジオです([ツール] - > [Android] - > [SDKマネージャ])。 ndk項目を選択して削除してください。プログラムがそれを必要とする場合、あなたはそれを再インストールすることができます。これにより、フォルダの場所が正しくなり、そのような問題は発生しなくなります。

2
0xAliHn

あなたがndkの関連SDKをダウンロードするなら、あなた自身のローカルなAndroid-SDKを見つけてください、 "ndk-bundle"と呼ばれるフォルダーがあるでしょう

enter image description here

中に "toolchains"というフォルダがあります。

enter image description here

内部にmips64el関連ファイルがないことに気づきました。

enter image description here

解決策は次のとおりです。

ここをクリックして ブラウザを介してNDKパッケージを個別にダウンロードします。解凍した後、 "toolchains"フォルダを開き、Android-sdk-> ndk-bundle-> toolchainsフォルダと比較して、見つからないフォルダを見つけ、過去のファイルをコピーします。3.再コンパイルし、問題は解決します。それはあなたが仲間を助けることを願っています

1
D Prince

私にとっては、私はAndroid StudioからAndroid NDKをインストールする際に問題があるかもしれないと思います。これを以下の方法で解決することができました

からAndroid ndkをダウンロードしました

https://developer.Android.com/ndk/downloads/index.html

そしてndk-bundle(あなたのAndroid SDKがインストールされている場所)の中に置かれます。詳細については、この画面を確認してください。

https://app.box.com/s/dfi4h9k7v4h0tmbu3z9qnqx3d12fdejn

1
Chirag Purohit

同じ問題に直面しています。

私は以下の方法で成功しました。

Buldle.gradleファイルを開き、両方のクラスパスをたどるためのバージョンをアップグレードします。

classpath 'com.Android.tools.build:gradle:3.2.1' classpath 'com.google.gms:google-services:4.2.0'

それから同期して、同様に更新Gradleバージョンのための1つのdilaogを得てからそのリンクをクリックして、すべての必要な更新をダウンロードするのを待ってください(利用できるインターネットを望みます)。長い時間をかけて、成功しました。

1
subhash gaikwad

まず、ndkのバージョンを更新してみてください https://developer.Android.com/ndk/downloads/ /

それでもうまくいかない場合は、次の方法を試してください。

  • フォルダを作成します

    Sdk\ndk-bundle\toolchainsフォルダに移動します(私の場合はC:\ Users\USER\AppData\Local\Android\Sdk\ndk-bundle\toolchainsです。ファイル - >プロジェクト構造 - > SDKの下にあります)。あなたのAndroidのスタジオ内の場所)とエラーのために不足しているとして表示されている名前でフォルダを作成します。

    Gradle同期に失敗しました:プレフィックス:mipsel-linux-Androidを持つABIのNDK toolchainsフォルダーにツールチェーンが見つかりませんでした

    次に、mipsel-linux-Androidという名前のフォルダを作成します。

  • コンテンツを含める もう一度Sdk\ndk-bundle\toolchainsフォルダに移動し、既に含まれているフォルダを開きます。例:Sdk\ndk-bundle\toolchains\aarch64-linux-Android-4.9(mycase C:\ Users\USER\AppData\Local\Android\Sdk\ndk-bundle\toolchains\aarch64-linux-Android-4.9)その中の prebuilt フォルダーを、最後のステップで作成したフォルダーにコピーします。

  • もう一度プロジェクトを実行するとうまくいきます

それが役に立てば幸い!!

1
Dismi Paul

NDKを使用しない場合は、環境変数Android_NDK_HOMEの設定を解除してください。

1
Cristan

あなたはイオン3を使用している場合AndroidのスタジオのSDKツールからndkを削除します。

1
Taimoor Tariq

リンクファイルは私には良くありません。

ln -s aarch64-linux-Android-4.9 mips64el-linux-Android
ln -s arm-linux-androideabi-4.9 mipsel-linux-Android

別のエラーがあるためです。

* What went wrong:
A problem occurred configuring project ':Test'.
> Expected caller to ensure valid ABI: MIPS

Graldeでビルドする場合、これをdefaultConfigに追加します

ndk {
    abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
}

Ndk-buildコマンドを使用する場合、これをApplication.mkに追加します。

APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
0
Victor Choy

Androidスタジオを最新バージョンにアップグレードするだけ>>プロジェクトに応じてコンテンツをダウンロードするためにインターネットに接続します。

ハッピーコーディング..

0
Dmax

Android/gradle/gradle-wrapper.propertiesを開き、この行を変更します。distributionUrl =

https\://services.gradle.org/distributions/gradle-4.1-all.Zip

この行に:

distributionUrl =

https\://services.gradle.org/distributions/gradle-4.4-all.Zip

Android/build.gradleを開き、次の行を変更してください。

classpath 'com.Android.tools.build:gradle:3.0.1'

これに:

classpath 'com.Android.tools.build:gradle:3.1.2'
0
Ahsan Ajmal

この質問の私の限られた経験では、私はフォローメソッドを使用して問題を解決しようとします:

1.Stay Android gradleバージョンと同じビルドツールバージョン。例:ビルドツールのバージョンが3.3.0の場合、gradleのバージョンは4.10.1である必要があります。リンクで参照できます https://developer.Android.com/studio/releases/gradle- plugin そしてASでビルドツールとgradleバージョンを整理します(ファイル->プロジェクト構造->プロジェクト)

2.method1が機能しない場合は、ndkツールチェーンバージョンをカスタマイズして問題を解決することができます:ndk18またはndk16のダウンロードなど、ndkパスの設定はASです(ファイル->プロジェクト構造-> SDKロケーション-> Android NDKロケーション)

0
廖志伟

Gradleプラグインをアップグレードします

  1. com.Android.tools.build:gradle:3.1.4
    グレードアップwraperpropetiesをアップグレード

    distributionUrl = https://services.gradle.org/distributions/gradle-4.4-all.Zip

0
RAHULRSANNIDHI

私はlocal.propertiesにナビゲートし、そこに

ndk.dir=/yo/path/for/NDK

行はあなたのndkがある場所に更新する必要があります。

私はCrystax NDKを使用していましたが、オリジナルのAndroid NDKがまだ使用されていることに気づきませんでした。

0
Yipeng Zhang

NDKを追加中に同じエラーがあります。私は多くのことを試みました、そして、後で私は私のために完璧に働く解決策の下に見つける。

プロジェクトにNDKを追加したい場合は、以下の手順に従ってください。 1. SDK Managerを使用してNDKをインストールした場合は、まずアンインストールします。 (SDKツールのチェックを外して適用)2.公式サイトからNDKを手動でダウンロードします。 (任意のバージョン)プロジェクトが古い場合はバージョン17を優先します。3.そのファイルを解凍します。 4.プロジェクト構造> NDKパス>抽出ファイルパスをここに追加します。 5.プロジェクトをビルドします。そしてその仕事。

0
gunavant patel

プロジェクト評価版の更新

classpath 'com.Android.tools.build:gradle:3.2.1'

アプリのグレードを更新する:implementation 'com.Android.support:appcompat-v7:28.0.0' implementation 'com.Android.support:design:28.0.0'

0
Soumen Das

次のように問題を解決するために私が従ったステップ、

Analyze -> Code Cleanup

File -> Project Structures -> Select project from the list and update the gradle version to latest.

Build -> Clean Project

Build -> Make Project

現在、ビルドに関連する問題は、実装などの代わりにコンパイルを使用するように報告されるかもしれません。

それらを修正してください、そしてうまくいけばそれは問題を解決するはずです。

0

見回した後、解決策は、私の好みからNDKの指定を削除することでした。

Android Studio→設定→システム設定→Android SDK→SDKツール→NDKの選択解除→適用ボタン。

その後、ProjectとGradleは問題なくコンパイルされ、プロジェクトの作業を進めることができました。

なぜこれが起こっているのかはわかりませんが、NDKの詳細についてはチェックアウトしてください:

0
Raza Baloch

NDKを再インストールして問題を解決しました。

0
Rajesh Khadka