Kesalahan: Tidak ada toolchains yang ditemukan di folder NDK toolchains untuk ABI dengan awalan: llvm


207

Saya ingin mengkompilasi proyek android open source (Netguard) menggunakan gradel ( gradlew clean build) Tapi saya mengalami kesalahan ini:

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

Saya serached tetapi tidak menemukan enything membantu. Inilah yang utama 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
}

Dan di sini adalah build.gradledari appproyek:

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.+'
}

Dan saya menggunakan gradle-2.9-alldan android-ndk-r10e. Saya tidak tahu apakah saya harus menyebutkan hal lain, jadi komentari jika Anda memerlukan informasi.


Coba perbarui alat gradle. classpath 'com.android.tools.build:gradle:3.2.0-beta05'
Photon Point

menggunakan versi developer.android.com/ndk/downloads/older_releases dan Android NDK, Revision 16b (Desember 2017) untuk mengunduh folder yang diperlukan dan memperbaiki masalah tersebut.
Panache

Jawaban:


376

Dua tahun telah berlalu, sekarang jika Anda menemukan di sini, Anda mungkin menemukan pesan kesalahan seperti ini:

Tidak ada toolchains yang ditemukan di folder NDK toolchains untuk ABI dengan awalan mips64el-linux-android

atau

Tidak ada toolchains yang ditemukan di folder NDK toolchains untuk ABI dengan awalan mipsel-linux-android

NDK terbaru menghapus dukungan untuk mipsabi, dan versi yang lebih awal dari plugin android gradle masih memeriksa keberadaan toolchain mips. lihat di sini untuk info lebih lanjut .

Solusi : Tingkatkan plugin android gradle ke 3.1 atau lebih baru.

mis. Tambah mengikuti dalam tingkat proyek tingkat [28-September-2018]

 classpath "com.android.tools.build:gradle:3.2.0"

Penanganan Masalah : Buat mipsel-linux-androidstruktur folder untuk mengelabui alat. Cara termudah adalah dengan tautan simbolis 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

Periksa utas ini dari tiga opsi untuk menyelesaikan masalah semacam ini


6
Sudah dicoba dengan gradle 4.1, tidak berhasil, tetapi solusinya (pembuatan folder mipsel-linux-android-dummy) berhasil. Terima kasih @ lazybug.

2
@Girish meng-upgrade Android Gradle Plugin di tingkat atas build.gradleberkas, sesuatu seperti com.android.tools.build:gradle:3.2.0-rc02, tidak versi Gradle
jangan panik

4
Solusi yang disebutkan di sini adalah yang benar: # 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
Avijeet Dutta

16
Di Windows: mklink /d mips64el-linux-android aarch64-linux-android-4.9dan mklink /d mipsel-linux-android arm-linux-androideabi-4.9bekerja untuk saya juga.
Mitch,

Solusi "on Mac" berfungsi dengan baik (adapt ~ / bagian Perpustakaan). Tetapi pembaruan NDK berikutnya (2018 14 Oktober) menemukan sejumlah besar file tak terduga di pohon * mips. Tidak mengherankan. Jadi saya menghapus tautan simbolik lagi.
Quigi

66

Untuk Android studio 3.2.1+

Tingkatkan Plugin Gradle Anda

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

Jika Anda sekarang mendapatkan kesalahan ini:

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

cukup tambahkan google () ke repositori Anda, seperti ini:

repositories {
    google()
    jcenter()
}

Selamat Coding - :)


1
Ini adalah solusi nyata
Martin


55

Saya memperbaiki kesalahan ini dengan menghapus instalan NDK di SDK-Tools. Jadi, jika Anda tidak membutuhkan NDK, hapus instalannya.


7
Bagaimana jika saya membutuhkan NDK?
IgorGanapolsky

sama di sini jika kita ingin NDK lalu apa solusinya?
Brijesh Joshi

Ini diperbaiki jika menghapus NDK tetapi jika Anda harus menggunakan NDK maka silakan Periksa stackoverflow.com/a/51589406/6533853
Ninja

Untuk menghapus instalan, ikuti stackoverflow.com/a/52207450/2768515
Chetan

35

Saya telah menghadapi masalah yang sama ketika memperbarui Android studio dari 2.0 ke 2.1 di mesin Windows 8 saya.

Saya menemukan solusi untuk itu. Silakan gunakan langkah-langkah berikut.

  1. Unduh NDK android untuk windows dari https://developer.android.com/ndk/downloads/index.html .
  2. Ekstrak yang sama dan salin folder "toolchain" dari bundel.
  3. Tempel folder di bawah folder NDK yang terinstal di bawah C: \ android-sdk-win \ ndk-bundle. [Menginstal path dapat bervariasi berdasarkan instalasi Anda]
  4. Mulai ulang android studio.

Ini terjadi karena studio Android tidak akan mendapatkan pembaruan NDK penuh di saluran stabil. Jika Anda tidak menggunakan NDK untuk pengembangan proyek Anda, Anda dapat menghapus folder NDK dari direktori SDK Anda.


1
Bekerja dengan Android Studio 3.2!
maxwellnewage

1
Ini juga berfungsi untuk saya karena memperbaiki kesalahan " Error : Android MIPS ToolChain directory "" does not exist" di Game Maker Studio 2 di Mac. Tapi saya perlu mendapatkan versi 17c dari NDK dari sini: developer.android.com/ndk/downloads/older_releases (sesuai: reddit.com/r/gamemaker/comments/9m958a/… ) Terima kasih @nithinjith! ... masih belum membangun, harus menyelesaikan:Android NDK: Please fix the APP_ABI definition in /Users/../Library/Android/sdk/ndk-bundle/build/core/default-application.mk
keris

33

Pesan kesalahan: "Tidak ada toolchains yang ditemukan di folder NDK toolchains untuk ABI dengan awalan: llvm".

Setelah instalasi web baru Android Studio dengan NDK, saya mengimpor sampel kode Android yang menggunakan NDK dari GitHub dan mencoba untuk mengompilasinya.

Akibatnya memiliki Galat:

Tidak ada toolchains yang ditemukan di folder NDK toolchains untuk ABI dengan awalan: llvm

Solusi: karena beberapa alasan proses instalasi standar pada macOS gagal menginstal satu set lengkap:

~/Library/Android/sdk/ndk-bundlefolder tidak terjawab toolchainsdengan semua alat,

(seharusnya seperti ini ~/Library/Android/sdk/ndk-bundle/toolchains:)

Solusinya adalah mengunduh NDK secara terpisah, membukanya, menyalin folder toolchaindan menempelkannya ke folder:

~/Library/Android/sdk/ndk-bundle

Setelah itu bekerja dengan baik untuk saya.


dalam kasus saya itu ada tetapi tidak ada file di sana dengan awalan aarch64-linux-android . Ada saran !!
CoDe

folder 'mips64el-linux-android-4.9' & 'mipsel-linux-android-4.9' tidak tersedia setelah ndk bundel 16, jadi saya harus mengunduh dan menambahkan dua folder ini di android sdk bundel di dalam folder toolchains maka masalah terpecahkan, masih tidak mengerti mengapa kesalahan ini?
Fazal


22

Selangkah demi selangkah:

1) Buka halaman dengan versi NDK lama :

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

masukkan deskripsi gambar di sini

2) Menyetujui Ketentuan:

masukkan deskripsi gambar di sini

3) Unduh versi yang lebih lama dari NDK(misalnya 16b):

masukkan deskripsi gambar di sini

4) Buka toolchainsdirektori Anda .

5) Transfer file yang Anda butuhkan dari toolchainsfolder file zip yang diunduh ke toolchainsfolder Anda :

masukkan deskripsi gambar di sini

6) Membangun Kembali Proyek:

masukkan deskripsi gambar di sini


UPD 30 Sep 2018:
Saya menggunakan Android NDK Revision r16b untuk memperbaiki kesalahan ini dalam kasus saya sendiri. Jadi saya berikan contoh dengan versi ini.
Tapi lebih baik menggunakan Android NDK, Revision r17c (Juni 2018). Ini adalah yang terakhir, mendukung mips (rekomendasi yang wajar dari komentar Weekend).


Daripada (for example 16b), lebih baik mengklarifikasi versi NDK mana yang mendukung mips terakhir. melalui catatan rilis Android NDK Revision r17c (Juni 2018) : Dukungan untuk ARMv5 (armeabi), MIPS, dan MIPS64 telah dihapus. Mencoba membangun ABI ini akan menghasilkan kesalahan. Ini 16bpersis.
Akhir Pekan

@Weekend Terima kasih atas rekomendasi Anda. Saya menambahkannya ke jawaban saya.
V. Raja

1
@ Vmarch Maaf tapi ini 16bpersis. r17c adalah versi pertama yang menghapus dukungan untuk MIPS :)
Akhir pekan

1
@ Oh, saya membaca komentar Anda sebelumnya dengan sangat cepat. Itu sebabnya saya melewatkan intinya. Saya minta maaf! Tetapi file-file ini masih ada di Android NDK, Revision r17c (Juni 2018). Dan dalam versi 18 mereka akhirnya dihapus. Lihat saja arsipnya. developer.android.com/ndk/downloads/…
V.March

@ vmarch Bagus sekali! Saya tidak memeriksa arsip r17c, hanya menyimpulkan kesimpulan sebelumnya dari catatan rilis.
Akhir Pekan

17

Tanpa mengunduh, menyalin, atau menghubungkan apa pun, saya dapat "memperbaiki" kesalahan hanya dengan membuat direktori kosong di mana versi yang lebih lama dari plugin Android Gradle mengharapkan penghapusan toolchain mips yang dihapus:

mkdir -p $ANDROID_HOME/ndk-bundle/toolchains/mips64el-linux-android/prebuilt/linux-x86_64

Jelas, $ANDROID_HOMEmenunjuk ke akar instalasi Android SDK di sini. Jika Anda menggunakan MacOS , ganti linux-x86_64dengan darwin-x86_64pada perintah di atas. Di Windows digunakan windows-x86_64.


Bekerja seperti pesona.
Akbar Sha Ebrahim

Tergantung pada apa yang dirujuk oleh proyek Anda. Tidak bekerja untuk saya, tetapi merupakan trik yang bagus dan sederhana untuk beberapa orang. Saya harus menyalin rantai alat nyata untuk menghilangkan kesalahan.
Martin Zaske

11

Saya menghapus NDK karena saya tidak membutuhkannya. Buka SDK manager di Android studio (Alat -> Android -> SDK Manager). Jika NDK diinstal. Hapus centang pada kotak dan klik OK. Komponen yang diinstal akan dihapus.


8

Dalam kasus saya, kesalahan ini terjadi ketika membuat Proyek Android dengan Android Studio (Android studio 3.2.1) dengan

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

Jadi saya diturunkan ke

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

Bukan solusi terbaik tetap pada versi yang lebih lama, tapi mungkin itu hanya bug sementara dalam versi beta sebagai jalur NDK di local.properties masih sama, tetapi IDE tidak mengeluh lagi


Saya pikir ini adalah bug dari plugin gradle yang ketinggalan jaman. Cukup perbarui ke yang terbaru. Itu membantu saya (dari 3.0 ke 3.2.0-beta05 dalam kasus saya)
AnoDest

Saya pikir ini ditingkatkan bukan diturunkan ... P
Shylendra Madda

7

Android NDK 18.0 * tampaknya memiliki masalah dengan tidak membuat semua file di folder setelah ekstraksi. Karena itu, kompilasi aplikasi Anda akan gagal yang menggunakan build ndk.

Lebih baik menggunakan NDK 17.1 * ( https://developer.android.com/ndk/downloads/ ) versi dll dan Anda dapat mengekstraksi atau menggunakan ekstraksi studio android ke ndk-bundel secara default akan bekerja dengan baik.


5

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

Untuk orang yang mencoba contoh ini dan menghadapi masalah dengan NDK terbaru. Dapat mengikuti solusi ini. Di build.gradle ubahlah ini

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

Untuk

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

Alasannya adalah mips tidak lagi digunakan dalam versi ndk terbaru, Gradle versi 3.1.2 tidak akan memiliki keharusan untuk mips. Ini mengasumsikan keberadaan folder yang hilang ini.


4

Buka Android Studio, Buka Tools lalu Android dan kemudian SDK, hapus centang NDK Jika Anda tidak membutuhkan ini, dan restart android studio.


3

Di tingkat proyek Anda file Gradle meningkatkan dependensi versi classpath seperti rendah ke tinggi

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

untuk mengubah suka

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

3

Memecahkannya dengan menambahkan google()ketergantungan pada kedua repositori di build.gradle(Project: ProjectName). kemudian sinkronkan proyek Anda

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


2

Saya punya masalah serupa, tetapi saya ingin menggunakan NDK versi r9d karena persyaratan proyek.

Di local.propertiesjalur diatur ke ndk.dir=C\:\\Android\\ndk\\android-ndk-r9dtetapi yang mengarah ke masalah:

Tidak ada toolchains yang ditemukan di folder NDK toolchains untuk ABI dengan awalan: [toolchain-name]

Solusinya adalah:

  1. Instal NDK terbaru menggunakan manajer SDK
  2. Salin toolchain yang hilang [nama-nama alat] dari ndk baru ke yang lama. Dalam kasus saya dari sdk\ndk-bundle\toolchainshingga\ndk\android-ndk-r9d\toolchains
  3. Ulangi proses ini sampai semua alat yang diperlukan ada di sana

Sepertinya saya bahwa toolchain yang disalin tidak digunakan, tetapi untuk beberapa alasan diperlukan agar mereka ada di sana.


2

Saya memecahkan pertanyaan ini dengan ndk diinstal, karena saya tidak membutuhkannya


2

Inilah solusinya.

Saat menyusun proyek di studio android, saya sesekali menemukan:

Kesalahan: Tidak ada toolchains yang ditemukan di folder NDK toolchains untuk ABI dengan awalan: arm-linux-androideabi / llvm

Ini mungkin disebabkan oleh memperbarui komponen terkait. Solusinya adalah ke Android studio (Tools -> Android -> SDK Manager). Pilih item ndk dan hapus. Jika program membutuhkannya, Anda dapat menginstalnya kembali. Ini akan memastikan bahwa lokasi folder sudah benar dan tidak akan ada masalah seperti itu.


2

Untuk memperbaikinya seperti yang saya lakukan

File Studio Android> struktur proyek dan pergi ke proyek

ubah versi Gradle ke 4.6 & versi plugin Android ke 3.2.1

periksa tangkapan layar

lalu bersihkan proyek jika Anda mendapatkan Galat ini "Tidak dapat menemukan aapt2-proto.jar"

pergi ke build.gradle (proyek)

Coba pindahkan metode google () (file .gradle) ke bagian atas eksekusi blokkan urutan repositori yang dicari di dalamnya yang menyebabkan masalah.

misalnya, ubah ini:

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

Untuk ini:

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

Buat perubahan itu di "skrip pembangunan" dan "semua proyek"

periksa tangkapan layar

Jika Anda tidak menemukan google () tambahkan


2

Untuk Android Studio 3.2.1 Perbarui

Gradle Versi 4.6

Plugin Android versi 3.2.1


2

Masalahnya muncul terutama ketika Anda mengkloning proyek sebelumnya khusus dari github. Yang bisa Anda lakukan adalah

  1. Ubah classpath ke

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

di tingkat tingkat proyek Anda.

  1. Kemudian Ubah semua instance kompilasi dengan implementasi kecuali compileSdkVersion simpan seperti yang ada di tingkat level aplikasi Anda.

  2. Alih-alih menyinkronkan sekarang, klik buat proyek (Ctrl + F9)

  3. Tambahkan repositori google maven jika perlu.

  4. Tingkatkan pembungkus gradle jika perlu.

(Android Studio IDE akan menanyakan / membimbing Anda dengan hal yang sama untuk langkah 4 dan 5)

itu memperbaiki !! Nikmati Pengodean


2

CATATAN: Jawaban ini tampaknya khusus untuk:, No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-androidtetapi dikaitkan di sini oleh:

* /programming/52193274/no-toolchains-found-in-the-ndk-toolchains-folder-for-abi-with-prefix-mips64el-l

Dari NDK r19b:

more ~/Android/Sdk/ndk-bundle/CHANGELOG.md
  • NDK versi ini tidak kompatibel dengan plugin Android Gradle versi 3.0 atau lebih lama. Jika Anda melihat kesalahan seperti No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android, perbarui file proyek Anda ke [gunakan plugin versi 3.1 atau yang lebih baru]. Anda juga perlu meningkatkan ke Android Studio 3.1 atau yang lebih baru.

1

Jika Anda tidak menggunakan NDK, hapus variabel lingkungan ANDROID_NDK_HOME.



1

Jika Anda menggunakan Ionic 3 Hapus ndk dari alat sdk android studio.


Hebat, sebagai solusi sementara untuk kebutuhan spesifik membangun proyek android ionik, meskipun tidak ideal.
MFAL

1

Temukan android-SDK lokal Anda sendiri, jika Anda mengunduh SDK ndk yang relevan, akan ada folder bernama "ndk-bundle"

masukkan deskripsi gambar di sini

Ada folder yang disebut "toolchains" di dalamnya.

masukkan deskripsi gambar di sini

Kami perhatikan bahwa tidak ada file terkait mips64el di dalamnya.

masukkan deskripsi gambar di sini

Solusinya adalah sebagai berikut:

Klik di sini untuk mengunduh paket NDK secara terpisah melalui browser. Setelah membuka ritsleting, buka folder "toolchains", bandingkan dengan folder android-sdk-> ndk-bundle-> toolchains, cari folder yang hilang, salin lalu. 3. Kompilasi ulang, masalahnya selesai. Semoga ini bisa membantu Anda sobat


1

Menghadapi masalah yang sama.

Saya berhasil mengikuti cara-cara.

Buka file buldle.gradle Anda dan tingkatkan versi untuk mengikuti kedua classpath

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

Kemudian Sinkronkan dan setelah mendapatkan satu dilaog untuk pembaruan versi Gradle juga kemudian klik tautan itu dan tunggu unduhan semua pembaruan yang diperlukan (Semoga tersedia internet). Setelah lama Anda berhasil.


1

Pertama, coba perbarui versi ndk https://developer.android.com/ndk/downloads/

Jika itu tidak berhasil, Anda dapat mencoba yang berikut:

  • Buat folder

    Pergi ke folder Sdk \ ndk-bundle \ toolchains (dalam kasus saya ini C: \ Users \ USER \ AppData \ Local \ Android \ Sdk \ ndk-bundle \ toolchains; Anda dapat menemukannya di File-> project structure-> SDK lokasi di studio android Anda) dan membuat folder dengan nama yang ditampilkan sebagai hilang dalam kesalahan untuk misalnya: jika kesalahan itu

    Gradle sync gagal: Tidak ada toolchains yang ditemukan di folder NDK toolchains untuk ABI dengan awalan: mipsel-linux-android

    Kemudian buat folder dengan nama mipsel-linux-android

  • Sertakan konten Buka folder Sdk \ ndk-bundle \ toolchains lagi dan buka folder yang sudah ada di dalamnya. Sebagai contoh: Sdk \ ndk-bundle \ toolchains \ aarch64-linux-android-4.9 (dalam mycase C: \ Users \ USER \ AppData \ Local \ Android \ Sdk \ ndk-bundle \ toolchains \ aarch64-linux-android-4.9) salin folder prebuilt di dalamnya ke folder yang kita buat di langkah terakhir

  • Jalankan proyek lagi dan itu akan berhasil

Semoga ini bisa membantu !!


1

Dalam pengalaman saya yang terbatas dengan pertanyaan ini, saya mencoba memecahkan masalah menggunakan metode follow:

1. Tetap membangun versi alat Android sama dengan versi gradle. Misalnya: jika Anda menggunakan versi build tools adalah 3.3.0, versi gradle Anda harus 4.10.1. Anda dapat merujuk melalui tautan https://developer.android.com/studio/releases/gradle-plugin dan chagne your membangun alat & versi gradasi di AS Anda (File-> Struktur Proyek-> Proyek)

2.Jika metode1 tidak berfungsi, Anda dapat mengubahsuaikan versi ndk toolchains Anda untuk menyelesaikan masalah: seperti unduh ndk18 atau ndk16, mengatur jalur ndk sebagai AS (File-> Project Structure-> SDK Location-> Android NDK Location)


1

Arahkan ke C:\Users\lalit\AppData\Local\Android\Sdk\ndk-bundle\toolchains.

Sekarang, cari nama folder aarch64-linux-android-4.9dan ganti namanya mips64el-linux-android.

Jalankan kembali aplikasi android.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.