Chcę skompilować projekt Android typu open source (Netguard) za pomocą gradel ( gradlew clean build
). Ale napotkałem ten błąd:
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
Szukałem, ale nic nie pomagało. Oto główne 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
}
I tu jest build.gradle
o app
projekcie:
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.+'
}
I używam gradle-2.9-all
i android-ndk-r10e
. Nie wiem, czy powinienem wspomnieć o czymkolwiek innym, więc skomentuj, jeśli potrzebujesz jakichkolwiek informacji.
Odpowiedzi:
Minęły dwa lata, teraz, jeśli się tu natkniesz, być może pojawi się następujący komunikat o błędzie:
lub
Najnowsza
mips
wersja NDK usunęła obsługę abi, a Earler wersja wtyczki stopni Android wciąż sprawdza, czy istnieje łańcuch narzędzi mips. zobacz tutaj, aby uzyskać więcej informacji .Rozwiązanie : Zaktualizuj wtyczkę stopniową Androida do wersji 3.1 lub nowszej.
np. Dodaj następujące elementy na poziomie projektu [28-wrzesień-2018]
Obejście : Utwórz
mipsel-linux-android
strukturę folderów, aby oszukać narzędzie. Najłatwiejszym sposobem byłoby dowiązanie symboliczne doaarch64-linux-android-4.9
.Sprawdź ten wątek z trzema opcjami rozwiązania tego rodzaju problemu
źródło
build.gradle
pliku najwyższego poziomu , coś w stylucom.android.tools.build:gradle:3.2.0-rc02
, nie wersja Gradle# 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
imklink /d mipsel-linux-android arm-linux-androideabi-4.9
dla mnie też działał.Dla Androida Studio 3.2.1+
Zaktualizuj wtyczkę Gradle
Jeśli otrzymujesz teraz ten błąd:
po prostu dodaj google () do swoich repozytoriów, w ten sposób:
Happy Coding - :)
źródło
Naprawiłem ten błąd, odinstalowując NDK w SDK-Tools. Więc jeśli nie potrzebujesz NDK, odinstaluj go.
źródło
Napotkałem ten sam problem podczas aktualizacji Androida Studio z wersji 2.0 na 2.1 na moim komputerze z systemem Windows 8.
Znalazłem rozwiązanie tego problemu. Wykonaj następujące czynności.
Dzieje się tak, ponieważ studio Android nie otrzyma pełnej aktualizacji NDK w stabilnym kanale. Jeśli nie używasz NDK do rozwoju projektu, możesz po prostu usunąć folder NDK z katalogu SDK.
źródło
Error : Android MIPS ToolChain directory "" does not exist
” w Game Maker Studio 2 na komputerze Mac. Ale potrzebowałem pobrać wersję 17c NDK stąd: developer.android.com/ndk/downloads/older_releases (zgodnie z: reddit.com/r/gamemaker/comments/9m958a/… ) Dziękuję @nithinjith! ... wciąż nie buduję, jednak musisz rozwiązać:Android NDK: Please fix the APP_ABI definition in /Users/../Library/Android/sdk/ndk-bundle/build/core/default-application.mk
Komunikat o błędzie: „Nie znaleziono łańcuchów narzędzi w folderze łańcuchów narzędzi NDK dla ABI z prefiksem: llvm”.
Po świeżej instalacji Androida Studio za pomocą NDK zaimportowałem przykładowy kod Androida, który używał NDK z GitHub i próbowałem go skompilować.
W rezultacie wystąpił błąd:
Rozwiązanie: z kilku powodów standardowy proces instalacji w systemie macOS nie mógł zainstalować pełnego zestawu:
~/Library/Android/sdk/ndk-bundle
brakowało folderutoolchains
ze wszystkimi narzędziami,(powinno być tak:
~/Library/Android/sdk/ndk-bundle/toolchains
)Rozwiązaniem było osobne pobranie NDK, otwarcie go, skopiowanie folderu
toolchain
i wklejenie do folderu:Potem zadziałało to dobrze dla mnie.
źródło
Krok po kroku:
1) Otwórz stronę ze starymi wersjami NDK :
https://developer.android.com/ndk/downloads/older_releases
2) Zaakceptuj warunki:
3) Pobierz starszą wersję
NDK
(na przykład 16b):4) Otwórz swój
toolchains
katalog.5) Przenieś potrzebne pliki z
toolchains
folderu pobranego pliku zip do swojegotoolchains
folderu:6) Przebuduj projekt:
UPD 30 września 2018:
Użyłem Androida NDK Revision r16b, aby naprawić ten błąd we własnym przypadku. Przedstawiam więc przykład z tą wersją.
Ale lepiej jest używać Androida NDK, wersja r17c (czerwiec 2018). To ostatni, wspierający mips (rozsądna rekomendacja z komentarza Weekendu).
źródło
(for example 16b)
tego lepiej wyjaśnić, która wersja NDK jest ostatnią obsługującą mips. w informacji o wersji Androida NDK Revision r17c (czerwiec 2018 r.) : Usunięto obsługę ARMv5 (armeabi), MIPS i MIPS64. Próba zbudowania któregokolwiek z tych ABI spowoduje błąd. Jest to16b
dokładnie.16b
dokładnie. r17c to pierwsza wersja, która usunęła obsługę MIPS :)Bez pobierania, kopiowania ani tworzenia dowiązań symbolicznych mogłem „naprawić” błąd, po prostu tworząc pusty katalog, w którym starsza wersja wtyczki Android Gradle oczekuje usuniętego zestawu narzędzi mips:
Oczywiście
$ANDROID_HOME
wskazuje tutaj katalog główny zestawu SDK systemu Android. Jeśli używasz MacOS , wymienićlinux-x86_64
zedarwin-x86_64
w poleceniu powyżej. W systemie Windowswindows-x86_64
.źródło
Odinstalowałem NDK, ponieważ go nie potrzebowałem. Przejdź do menedżera SDK w Android studio (Narzędzia -> Android -> Menedżer SDK). Jeśli jest zainstalowany NDK. Po prostu odznacz pole i kliknij OK. Zainstalowane komponenty zostaną usunięte.
źródło
W moim przypadku ten błąd wystąpił podczas tworzenia nowego projektu Java Studio Android (Android studio 3.2.1)
Więc obniżyłem klasę do
Nie najlepszym rozwiązaniem pozostaje starsza wersja, ale może to tylko tymczasowy błąd w wersji beta, ponieważ ścieżka NDK w pliku local.properties jest nadal taka sama, ale IDE już nie narzeka
źródło
Wygląda na to, że w systemie Android NDK 18.0 * nie jest możliwe utworzenie wszystkich plików w folderach po rozpakowaniu. Z tego powodu kompilacja aplikacji zakończy się niepowodzeniem, co wykorzystuje kompilacje ndk.
Lepiej jest użyć wersji NDK 17.1 * ( https://developer.android.com/ndk/downloads/ ) itp. Możesz wyodrębnić lub użyć ekstrakcji ze studia Android, aby pakiet ndk domyślnie działał dobrze.
źródło
[ https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android][1]
Dla osób wypróbowujących ten przykład i mających problemy z najnowszą wersją NDK. Może zastosować to rozwiązanie. W build.gradle zmień to
Do
Powodem jest to, że mips są przestarzałe w najnowszych wersjach ndk, wersja 3.1.2 programu Gradle nie będzie obowiązywać mips. Zakłada obecność tych brakujących folderów.
źródło
Otwórz Android Studio, przejdź do Narzędzia, następnie Android, a następnie SDK, usuń zaznaczenie NDK Jeśli nie jest to potrzebne, i uruchom ponownie Android Studio.
źródło
Na poziomie projektu Plik stopniowy zwiększ zależności ścieżki wersji od niskiej do wysokiej, jak
zmienić jak
źródło
Rozwiązano go, dodając
google()
zależność do obu repozytoriów wbuild.gradle
(Project: ProjectName). następnie zsynchronizuj swój projektźródło
Prostym rozwiązaniem jest pobranie i wyodrębnienie następującego pliku, który zawiera foldery mips64el-linux-android-4.9 i mipsel-linux-android-4.9, do folderu narzędzi w sdk „android-sdk \ ndk-bundle \ toolchains”.
Pobierz ten plik i ekstraxt do folderu narzędzi
źródło
Miałem podobny problem, ale chciałem użyć wersji NDK r9d ze względu na wymagania projektu.
W
local.properties
ścieżce ustawionondk.dir=C\:\\Android\\ndk\\android-ndk-r9d
ale które prowadzą do tego problemu:Rozwiązaniem było:
sdk\ndk-bundle\toolchains
do\ndk\android-ndk-r9d\toolchains
Wydaje mi się, że skopiowane łańcuchy narzędzi nie są używane, ale z jakiegoś powodu trzeba je mieć.
źródło
Rozwiązałem to pytanie przez uninstalled ndk, ponieważ nie potrzebuję tego
źródło
Oto poprawka.
Kompilując projekt w Android Studio, czasami spotykam:
Może to być spowodowane aktualizacją powiązanych komponentów. Rozwiązaniem jest studio Android (Narzędzia -> Android -> SDK Manager). Wybierz element ndk i usuń go. Jeśli program tego potrzebuje, możesz go ponownie zainstalować. Zapewni to, że lokalizacja folderu jest poprawna i nie będzie takiego problemu.
źródło
Aby to naprawić tak jak ja
Android Studio File> struktura projektu i przejdź do projektu
zmień wersję Gradle na 4.6 i wersję wtyczki Android na 3.2.1
sprawdź zrzut ekranu
następnie wyczyść projekt, jeśli wystąpił błąd „Nie można znaleźć pliku aapt2-proto.jar”
przejdź do build.gradle (projekt)
Spróbuj przenieść metodę google () (plik .gradle) na szczyt jej bloku wykonawczego, aby uporządkować repozytoria, w których przeszukuje, co powoduje problem.
na przykład zmień to:
Do tego:
Wprowadź te zmiany zarówno w „buildscript”, jak i „allprojects”
sprawdź zrzut ekranu
Jeśli nie znalazłeś google (), dodaj go
źródło
Dla Androida Studio 3.2.1 Zaktualizuj swój
Wersja Gradle 4.6
Wersja wtyczki Android 3.2.1
źródło
Problem pojawia się głównie wtedy, gdy klonujesz poprzedni projekt specjalnie z github. Możesz to zrobić
ścieżka klasy „com.android.tools.build:gradle:3.2.1”
w klasie na poziomie projektu.
Następnie zmień wszystkie instancje kompilacji za pomocą implementacji, z wyjątkiem compileSdkVersion, zachowaj ją tak, jak w klasie aplikacji.
Zamiast synchronizacji kliknij teraz na make project (Ctrl + F9)
W razie potrzeby dodaj repozytoria Google maven.
W razie potrzeby zaktualizuj owijarkę stopni.
(Android Studio IDE poprosi / poprowadzi cię tym samym dla kroków 4 i 5)
naprawia !! Ciesz się kodowaniem
źródło
UWAGA: Ta odpowiedź wydaje się być specyficzna dla:,
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
ale została tutaj powiązana z:* /programming/52193274/no-toolchains-found-in-the-ndk-toolchains-folder-for-abi-with-prefix-mips64el-l
Z NDK r19b:
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
, zaktualizuj plik projektu do [użyj wtyczki w wersji 3.1 lub nowszej]. Konieczne będzie także uaktualnienie do wersji Android Studio 3.1 lub nowszej.źródło
Jeśli nie korzystasz z NDK, odznacz zmienną środowiskową
ANDROID_NDK_HOME
.źródło
Dla mnie myślę, że może być jakiś problem z instalacją Androida NDK ze studia Android. Udało mi się to rozwiązać w następujący sposób
Pobrano android ndk z
https://developer.android.com/ndk/downloads/index.html
i umieszczone w pakiecie ndk (w którym jest zainstalowany system Android SDK). Aby uzyskać więcej informacji, sprawdź te ekrany.
https://app.box.com/s/dfi4h9k7v4h0tmbu3z9qnqx3d12fdejn
źródło
Jeśli używasz Ionic 3 Usuń ndk z narzędzi SDK Android Studio.
źródło
Znajdź własny lokalny zestaw SDK dla systemu Android, jeśli pobierzesz odpowiedni zestaw SDK programu ndk, pojawi się folder o nazwie „pakiet ndk”
Wewnątrz znajduje się folder o nazwie „łańcuchy narzędzi”.
Zauważyliśmy, że w środku nie ma plików powiązanych z mips64el.
Rozwiązanie jest następujące:
Kliknij tutaj, aby pobrać pakiet NDK osobno za pośrednictwem przeglądarki. Po rozpakowaniu otwórz folder „toolchains”, porównaj go z folderem android-sdk-> ndk-bundle-> toolchains, znajdź brakujący folder, skopiuj poprzednie 3. Ponownie skompiluj, problem został rozwiązany. Mam nadzieję, że to pomaga w kryciu
źródło
W obliczu tego samego problemu.
Sukces osiągnąłem na następujące sposoby.
Otwórz plik buldle.gradle i zaktualizuj wersje, aby śledzić obie ścieżki klas
ścieżka klasy „com.android.tools.build:gradle:3.2.1„ ścieżka klasy ”com.google.gms: google-services: 4.2.0”
Następnie zsynchronizuj i po uzyskaniu jednego dilaoga do aktualizacji Wersja Gradle, a następnie kliknij ten link i poczekaj na pobranie wszystkich wymaganych aktualizacji (dostępny jest internet Hope). Po długim czasie masz Sukces.
źródło
Najpierw spróbuj zaktualizować wersję ndk https://developer.android.com/ndk/downloads/
Jeśli to nie działa, możesz spróbować:
Utwórz folder
Przejdź do folderu Sdk \ ndk-bundle \ toolchains (w moim przypadku jest to C: \ Users \ USER \ AppData \ Local \ Android \ Sdk \ ndk-bundle \ toolchains; możesz znaleźć swoje w Plik-> Struktura projektu-> SDK lokalizację w swoim studio Android) i utwórz folder o nazwie, która jest wyświetlana jako brakująca w błędzie, na przykład: jeśli błąd jest
Następnie utwórz folder o nazwie mipsel-linux-android
Dołącz zawartość Przejdź ponownie do folderu Sdk \ ndk-bundle \ toolchains i otwórz dowolny folder, który już w nim jest. Na przykład: Sdk \ ndk-bundle \ toolchains \ aarch64-linux-android-4.9 (w mycase C: \ Users \ USER \ AppData \ Local \ Android \ Sdk \ ndk-bundle \ toolchains \ aarch64-linux-android-4.9) skopiuj w nim wstępnie zbudowany folder do folderu, który utworzyliśmy w ostatnim kroku
Uruchom projekt ponownie, a on zadziała
Mam nadzieję, że to pomoże!!
źródło
Mając ograniczone doświadczenie z tym pytaniem, staram się rozwiązać problem, użyj metody:
1. Pozostań wersja narzędzia do budowania Androida tak samo z wersją stopniową. Na przykład: jeśli korzystasz z wersji narzędzi do budowania to 3.3.0, twoja wersja stopni musi mieć 4.10.1. Możesz odwoływać się przez link https://developer.android.com/studio/releases/gradle-plugin i chagne swoje buduj narzędzia i wersję stopni w swoim AS (Plik-> Struktura projektu-> Projekt)
2.Jeśli metoda 1 nie działa, możesz dostosować wersję łańcuchów narzędzi ndk, aby rozwiązać problem: np. Pobierz ndk18 lub ndk16, ustawieniem ścieżki ndk jest Twój AS (Plik-> Struktura projektu-> Lokalizacja SDK-> Lokalizacja Android NDK)
źródło
Nawigować do
C:\Users\lalit\AppData\Local\Android\Sdk\ndk-bundle\toolchains
.Teraz znajdź nazwę folderu
aarch64-linux-android-4.9
i zmień nazwę namips64el-linux-android
.Uruchom ponownie aplikację na Androida.
źródło