Ich möchte ein Open Source Android-Projekt (Netguard) mit gradel ( gradlew clean build
) kompilieren, aber ich bin auf diesen Fehler gestoßen:
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
Ich suchte, fand aber nicht alles hilfreich. Hier ist die Hauptsache 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
}
Und hier ist das build.gradle
des app
Projekts:
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.+'
}
Und ich benutze gradle-2.9-all
und android-ndk-r10e
. Ich weiß nicht, ob ich noch etwas erwähnen soll, also kommentieren Sie, wenn Sie Informationen benötigen.
Antworten:
Zwei Jahre sind vergangen. Wenn Sie jetzt auf etwas stoßen, wird möglicherweise die folgende Fehlermeldung angezeigt:
oder
Das neueste NDK hat die Unterstützung für
mips
abi entfernt, und die frühere Version des Android Gradle-Plugins prüft immer noch, ob die Mips-Toolchain vorhanden ist. Weitere Informationen finden Sie hier .Lösung : Aktualisieren Sie das Android Gradle Plugin auf 3.1 oder neuer.
zB Folgendes im Gradle auf Projektebene hinzufügen [28-Sept-2018]
Problemumgehung : Erstellen Sie eine
mipsel-linux-android
Ordnerstruktur, um das Tool zu täuschen. Der einfachste Weg wäre eine symbolische Verknüpfung zuaarch64-linux-android-4.9
.Überprüfen Sie diesen Thread mit drei Optionen, um diese Art von Problem zu lösen
quelle
build.gradle
Datei, so etwas wiecom.android.tools.build:gradle:3.2.0-rc02
, nicht Gradle-Version# 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
mklink /d mips64el-linux-android aarch64-linux-android-4.9
undmklink /d mipsel-linux-android arm-linux-androideabi-4.9
hat auch bei mir funktioniert.Für Android Studio 3.2.1+
Aktualisieren Sie Ihr Gradle Plugin
Wenn Sie jetzt diesen Fehler erhalten:
Fügen Sie einfach google () zu Ihren Repositorys hinzu:
Viel Spaß beim Codieren - :)
quelle
Ich habe diesen Fehler durch Deinstallation des NDK in den SDK-Tools behoben. Wenn Sie das NDK nicht benötigen, deinstallieren Sie es.
quelle
Ich habe das gleiche Problem beim Aktualisieren von Android Studio von 2.0 auf 2.1 auf meinem Windows 8-Computer festgestellt.
Ich habe eine Lösung dafür gefunden. Bitte führen Sie die folgenden Schritte aus.
Dies geschieht, weil Android Studio im stabilen Kanal kein vollständiges NDK-Update erhält. Wenn Sie NDK nicht für Ihre Projektentwicklung verwenden, können Sie den NDK-Ordner einfach aus Ihrem SDK-Verzeichnis entfernen.
quelle
Error : Android MIPS ToolChain directory "" does not exist
" in Game Maker Studio 2 auf einem Mac zu beheben . Aber ich musste Version 17c des NDK von hier bekommen: developer.android.com/ndk/downloads/older_releases (gemäß: reddit.com/r/gamemaker/comments/9m958a/… ) Danke @nithinjith! ... immer noch nicht bauen, müssen jedoch lösen:Android NDK: Please fix the APP_ABI definition in /Users/../Library/Android/sdk/ndk-bundle/build/core/default-application.mk
Fehlermeldung: "Keine Ordner im NDK-Ordner für Toolchains für ABI mit dem Präfix: llvm gefunden".
Nach der Neuinstallation von Android Studio mit NDK im Internet habe ich ein Android-Codebeispiel importiert, das NDK von GitHub verwendet, und versucht, es zu kompilieren.
Als Ergebnis hatte ein Fehler:
Lösung: Aus bestimmten Gründen konnte der Standardinstallationsprozess unter macOS keinen vollständigen Satz installieren:
~/Library/Android/sdk/ndk-bundle
hatte Ordnertoolchains
mit allen Werkzeugen verpasst ,(es sollte so aussehen:
~/Library/Android/sdk/ndk-bundle/toolchains
)Die Lösung bestand darin, NDK separat herunterzuladen, zu öffnen, den Ordner zu kopieren
toolchain
und in den Ordner einzufügen:Danach hat es bei mir gut funktioniert.
quelle
Schritt für Schritt:
1) Öffnen Sie die Seite mit alten NDK- Versionen:
https://developer.android.com/ndk/downloads/older_releases
2) Stimmen Sie den Bedingungen zu:
3) Laden Sie die ältere Version von
NDK
(zum Beispiel 16b) herunter :4) Öffnen Sie Ihr
toolchains
Verzeichnis.5) Übertragen Sie die benötigten Dateien aus dem
toolchains
Ordner der heruntergeladenen Zip-Datei in Ihrentoolchains
Ordner:6) Erstellen Sie das Projekt neu:
UPD 30. September 2018:
Ich habe Android NDK Revision r16b verwendet, um diesen Fehler in meinem eigenen Fall zu beheben. Also präsentiere ich das Beispiel mit dieser Version.
Es ist jedoch besser, das Android NDK Revision r17c (Juni 2018) zu verwenden. Es ist das letzte, das Mips unterstützt (vernünftige Empfehlung aus dem Kommentar von Weekend).
quelle
(for example 16b)
ist es besser zu klären, welche NDK-Version die letzte ist, die Mips unterstützt. über Release Note von Android NDK Revision r17c (Juni 2018) : Die Unterstützung für ARMv5 (armeabi), MIPS und MIPS64 wurde entfernt. Der Versuch, eines dieser ABIs zu erstellen, führt zu einem Fehler. Es ist16b
genau.16b
genau. r17c ist die erste Version , die entfernt die Unterstützung für MIPS :)Ohne etwas herunterzuladen, zu kopieren oder zu verknüpfen, konnte ich den Fehler "beheben", indem ich einfach ein leeres Verzeichnis erstellte, in dem die ältere Version des Android Gradle-Plugins die entfernte Mips-Toolchain erwartet:
Verweist hier offensichtlich
$ANDROID_HOME
auf das Stammverzeichnis der Android SDK-Installation. Wenn Sie MacOS verwenden , ersetzen Sielinux-x86_64
mitdarwin-x86_64
in dem obigen Befehl. Unter Windows verwendenwindows-x86_64
.quelle
Ich habe das NDK deinstalliert, da ich es nicht brauchte. Gehen Sie in Android Studio zum SDK-Manager (Extras -> Android -> SDK-Manager). Wenn NDK installiert ist. Deaktivieren Sie einfach das Kontrollkästchen und klicken Sie auf OK. Die installierten Komponenten werden gelöscht.
quelle
In meinem Fall trat dieser Fehler beim Erstellen eines neuen Java-Projekts für Android Studio (Android Studio 3.2.1) mit auf
Also habe ich auf herabgestuft
Nicht die beste Lösung bleibt bei einer älteren Version, aber vielleicht ist es nur ein vorübergehender Fehler in der Beta, da der NDK-Pfad in local.properties immer noch der gleiche ist, aber die IDE beschwert sich nicht mehr
quelle
Android NDK 18.0 * scheint ein Problem zu haben, bei dem nach dem Extrahieren nicht alle Dateien in Ordnern erstellt werden. Aufgrund dessen schlägt Ihre App-Kompilierung fehl, die ndk-Builds verwendet.
Besser ist es, NDK 17.1 * ( https://developer.android.com/ndk/downloads/ ) usw. zu verwenden, und Sie können die Android Studio-Extraktion extrahieren oder verwenden, um das ndk-Bundle standardmäßig zu verwenden.
quelle
[ https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android weibl. [1 ]
Für Leute, die dieses Beispiel ausprobieren und Probleme mit dem neuesten NDK haben. Kann dieser Lösung folgen. Ändern Sie dies in build.gradle
Zu
Der Grund dafür ist, dass Mips in den neuesten ndk-Versionen veraltet sind. Gradle Version 3.1.2 hat keinen Zwang für Mips. Es wird das Vorhandensein dieser fehlenden Ordner vorausgesetzt.
quelle
Öffnen Sie Android Studio, gehen Sie zu Extras, dann zu Android und dann zu SDK, deaktivieren Sie NDK, wenn Sie dies nicht benötigen, und starten Sie Android Studio neu.
quelle
Erhöhen Sie in Ihrer Gradle-Datei auf Projektebene die Version des Abhängigkeitsklassenpfads von niedrig auf hoch wie
zu ändern wie
quelle
Es wurde behoben, indem
google()
Abhängigkeiten zu beiden Repositorys inbuild.gradle
(Projekt: Projektname) hinzugefügt wurden . Synchronisieren Sie dann Ihr Projektquelle
Die einfache Lösung besteht darin, die folgende Datei, die die Ordner mips64el-linux-android-4.9 und mipsel-linux-android-4.9 enthält, herunterzuladen und in Ihren Toolchains-Ordner in sdk "android-sdk \ ndk-bundle \ toolchains" zu extrahieren.
Laden Sie diese Datei herunter und extrahieren Sie sie in den Toolchains-Narren
quelle
Ich hatte ein ähnliches Problem, wollte aber aufgrund der Projektanforderungen die NDK-Version r9d verwenden.
Im
local.properties
Pfad wurde festgelegt,ndk.dir=C\:\\Android\\ndk\\android-ndk-r9d
aber das führte zu dem Problem:Die Lösung war:
sdk\ndk-bundle\toolchains
bis\ndk\android-ndk-r9d\toolchains
Es scheint mir, dass die kopierten Toolchains nicht verwendet werden, aber aus irgendeinem Grund ist es notwendig, dass sie da sind.
quelle
Ich habe diese Frage durch deinstalliertes ndk gelöst, weil ich sie nicht brauche
quelle
Hier ist das Update.
Beim Kompilieren eines Projekts in Android Studio stoße ich gelegentlich auf Folgendes:
Dies kann durch das Aktualisieren verwandter Komponenten verursacht werden. Die Lösung ist Android Studio (Tools -> Android -> SDK Manager). Wählen Sie das ndk-Element aus und löschen Sie es. Wenn das Programm es benötigt, können Sie es erneut installieren. Dadurch wird sichergestellt, dass der Ordner korrekt ist und es kein solches Problem gibt.
quelle
Um es so zu reparieren wie ich
Android Studio-Datei> Projektstruktur und gehen Sie zum Projekt
Ändern Sie die Gradle-Version auf 4.6 und die Android-Plugin-Version auf 3.2.1
Screenshot überprüfen
Bereinigen Sie dann das Projekt, wenn Sie den Fehler "aapt2-proto.jar konnte nicht gefunden werden" erhalten haben.
gehe zu build.gradle (Projekt)
Versuchen Sie, die google () -Methode (.gradle-Datei) an den Anfang ihres Ausführungsblocks zu verschieben, um die Reihenfolge der Repositorys zu blockieren, in denen das Problem verursacht wird.
Ändern Sie dies beispielsweise:
Dazu:
Nehmen Sie diese Änderungen sowohl in "Buildscript" als auch in "Allprojects" vor.
Screenshot überprüfen
Wenn Sie google () nicht gefunden haben, fügen Sie es hinzu
quelle
Für Android Studio 3.2.1 Aktualisieren Sie Ihre
Gradle Version 4.6
Android Plugin Version 3.2.1
quelle
Das Problem tritt meistens auf, wenn Sie ein vorheriges Projekt speziell von Github klonen. Was Sie tun können, ist
Klassenpfad 'com.android.tools.build:gradle:3.2.1'
in Ihrer Projektebene gradle.
Ändern Sie dann alle Instanzen der Kompilierung mit der Implementierung, mit Ausnahme von compileSdkVersion. Behalten Sie sie so bei, wie sie in Ihrem Gradle auf App-Ebene ist.
Anstatt jetzt zu synchronisieren, klicken Sie auf Projekt erstellen (Strg + F9).
Fügen Sie bei Bedarf Google Maven-Repositorys hinzu.
Aktualisieren Sie den Gradle-Wrapper bei Bedarf.
(Android Studio IDE wird Sie nach den Schritten 4 und 5 fragen / führen)
es behebt !! Viel Spaß beim Codieren
quelle
HINWEIS: Diese Antwort scheint spezifisch zu sein für:,
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
wurde jedoch hier verknüpft durch:* /programming/52193274/no-toolchains-found-in-the-ndk-toolchains-folder-for-abi-with-prefix-mips64el-l
Aus NDK r19b:
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
, aktualisieren Sie Ihre Projektdatei auf [Plugin Version 3.1 oder neuer verwenden]. Sie müssen auch auf Android Studio 3.1 oder neuer aktualisieren.quelle
Wenn Sie das NDK nicht verwenden, deaktivieren Sie die Umgebungsvariable
ANDROID_NDK_HOME
.quelle
Für mich könnte es ein Problem bei der Installation von Android NDK aus Android Studio geben. Ich konnte dies auf folgende Weise lösen
Heruntergeladen android ndk von
https://developer.android.com/ndk/downloads/index.html
und in ndk-bundle platziert (wo dein android sdk installiert ist). Weitere Informationen finden Sie in diesen Bildschirmen.
https://app.box.com/s/dfi4h9k7v4h0tmbu3z9qnqx3d12fdejn
quelle
Wenn Sie Ionic 3 verwenden Entfernen Sie ndk aus den Android Studio SDK-Tools.
quelle
Finden Sie Ihr eigenes lokales Android-SDK. Wenn Sie das entsprechende SDK von ndk herunterladen, wird ein Ordner namens "ndk-bundle" angezeigt.
Darin befindet sich ein Ordner namens "Toolchains".
Wir haben festgestellt, dass sich keine mips64el-bezogenen Dateien darin befinden.
Die Lösung lautet wie folgt:
Klicken Sie hier , um das NDK-Paket separat über den Browser herunterzuladen. Öffnen Sie nach dem Entpacken den Ordner "toolchains", vergleichen Sie ihn mit dem Ordner "android-sdk-> ndk-bundle-> toolchains", suchen Sie den fehlenden Ordner und kopieren Sie den letzten 3. Neu kompilieren, das Problem ist behoben. Hoffe, es hilft dir, dich zu paaren
quelle
Vor dem gleichen Problem.
Ich habe Erfolg auf folgenden Wegen.
Öffnen Sie Ihre Datei buldle.gradle und aktualisieren Sie die Versionen, um beiden Klassenpfaden zu folgen
Klassenpfad 'com.android.tools.build:gradle:3.2.1' Klassenpfad 'com.google.gms: google-services: 4.2.0'
Dann synchronisieren und nachdem Sie einen Dilaog für das Update der Gradle-Version erhalten haben, klicken Sie auf diesen Link und warten Sie, bis Sie alle erforderlichen Updates heruntergeladen haben (Hope Internet verfügbar). Nach langer Zeit haben Sie Erfolg.
quelle
Versuchen Sie zunächst, die ndk-Version https://developer.android.com/ndk/downloads/ zu aktualisieren.
Wenn das nicht funktioniert, können Sie Folgendes versuchen:
Erstellen Sie einen Ordner
Wechseln Sie in den Ordner Sdk \ ndk-bundle \ toolchains (in meinem Fall C: \ Users \ USER \ AppData \ Local \ Android \ Sdk \ ndk-bundle \ toolchains). Sie finden Ihren Ordner unter Datei-> Projektstruktur-> SDK Speicherort in Ihrem Android Studio) und erstellen Sie einen Ordner mit dem Namen, der im Fehler als fehlend angezeigt wird, z. B.: wenn der Fehler vorliegt
Dann erstellen Sie einen Ordner mit dem Namen mipsel-linux-android
Inhalt einschließen Wechseln Sie erneut in den Ordner Sdk \ ndk-bundle \ toolchains und öffnen Sie alle Ordner, die sich bereits darin befinden. Beispiel: Sdk \ ndk-bundle \ toolchains \ aarch64-linux-android-4.9 (in meinem Fall C: \ Users \ USER \ AppData \ Local \ Android \ Sdk \ ndk-bundle \ toolchains \ aarch64-linux-android-4.9) Kopieren Sie den vorgefertigten Ordner in den Ordner, den wir im letzten Schritt erstellt haben
Führen Sie das Projekt erneut aus und es wird funktionieren
Ich hoffe es hilft!!
quelle
Aufgrund meiner begrenzten Erfahrung mit dieser Frage versuche ich, das Problem mithilfe der folgenden Methode zu lösen:
1. Bleiben Sie Android Build Tools Version gleich mit Gradle Version. Beispiel: Wenn Sie die Build-Tools-Version 3.3.0 verwenden, muss Ihre Gradle-Version 4.10.1 sein. Sie können über den Link https://developer.android.com/studio/releases/gradle-plugin auf Ihre Version verweisen Erstellen Sie Tools und Gradle-Versionen in Ihrem AS (Datei-> Projektstruktur-> Projekt).
2.Wenn Methode1 nicht funktioniert, können Sie Ihre ndk-Toolchains-Version anpassen, um das Problem zu lösen: Wie beim Herunterladen von ndk18 oder ndk16 ist das Festlegen des ndk-Pfads Ihr AS (Datei-> Projektstruktur-> SDK-Speicherort-> Android-NDK-Speicherort).
quelle
Navigieren Sie zu
C:\Users\lalit\AppData\Local\Android\Sdk\ndk-bundle\toolchains
.Suchen Sie nun den Ordnernamen
aarch64-linux-android-4.9
und benennen Sie ihn in ummips64el-linux-android
.Führen Sie die Android-App erneut aus.
quelle