오류 : 접두사가 llvm 인 ABI의 NDK 도구 체인 폴더에 도구 체인이 없습니다.
gradel (
gradlew clean build
)을 사용하여 오픈 소스 안드로이드 프로젝트 (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
}
그리고 여기입니다
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
하고
android-ndk-r10e
있습니다. 다른 언급이 필요한지 모르겠으므로 정보가 필요한 경우 의견을 말하십시오.
2 년이 지났습니다. 이제 여기로 오면 다음과 같은 오류 메시지가 나타날 수 있습니다.
접두사가 mips64el-linux-android 인 ABI의 NDK 도구 체인 폴더에 도구 체인이 없습니다.
또는
접두사 mipsel-linux-android가있는 ABI의 NDK toolchains 폴더에 툴체인이 없습니다.
최신 NDK는
mips
abi에 대한 지원을 제거 했으며 이전 버전의 Android gradle 플러그인은 여전히 밉스 툴체인의 존재를 확인합니다.
.
해결책
: 안드로이드 gradle 플러그인을 3.1 이상으로 업그레이드하십시오.예 : 프로젝트 레벨 gradle에 다음 추가 [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
이런 종류의 문제를 해결하기 위해 세 가지 옵션 이 스레드를 확인하십시오.
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()
}
행복한 코딩-:)
SDK-Tools에서 NDK를 제거하여이 오류를 수정했습니다. 따라서 NDK가 필요하지 않으면 제거하십시오.
Windows 8 컴퓨터에서 Android Studio를 2.0에서 2.1로 업데이트하는 동안 동일한 문제에 직면했습니다.이에 대한 해결책을 찾았습니다. 다음 단계를 사용하십시오.
- https://developer.android.com/ndk/downloads/index.html 에서 Windows 용 Android NDK를 다운로드 하십시오 .
- 동일한 것을 추출하고 번들에서 "toolchain"폴더를 복사하십시오.
- C : \ android-sdk-win \ ndk-bundle 아래에 설치된 NDK 폴더 아래에 폴더를 붙여 넣습니다. [설치된 경로는 설치에 따라 다를 수 있습니다]
- 안드로이드 스튜디오를 다시 시작하십시오.
안드로이드 스튜디오가 안정적인 채널에서 전체 NDK 업데이트를 얻지 못하기 때문에 이런 일이 발생합니다. 프로젝트 개발에 NDK를 사용하지 않는 경우 SDK 디렉토리에서 NDK 폴더를 제거하면됩니다.
오류 메시지 :“접두사가 llvm 인 ABI의 NDK 도구 체인 폴더에 도구 체인이 없습니다.”NDK로 Android Studio를 새로 설치 한 후 GitHub에서 NDK를 사용하는 Android 코드 샘플을 가져 와서 컴파일하려고했습니다. 결과적으로 오류가 발생했습니다.
접두사가 llvm 인 ABI의 NDK 도구 체인 폴더에 도구 체인이 없습니다.
솔루션 :
몇 가지 이유로 macOS의 표준 설치 프로세스가 완전한 세트를 설치하지 못했습니다.
~/Library/Android/sdk/ndk-bundle
toolchains
모든 도구가있는 폴더 를 놓쳤습니다 .(다음과 같아야합니다.
~/Library/Android/sdk/ndk-bundle/toolchains
)해결책은 NDK를 별도로 다운로드하여 열고 폴더를 복사
toolchain
하여 폴더에 붙여 넣는 것입니다.
~/Library/Android/sdk/ndk-bundle
그 후 그것은 나를 위해 잘 작동했습니다.
단계별 :
1)
이전
NDK
버전이 있는 페이지를 엽니 다 .
https://developer.android.com/ndk/downloads/older_releases
2)
약관에 동의합니다 :
3)
이전 버전
NDK
(예 : 16b)을 다운로드하십시오 .
4)
열려있는
toolchains
디렉토리.
5)
toolchains
다운로드 한 zip 파일 폴더 에서 필요한 폴더로 폴더로 파일을 전송하십시오
toolchains
.
6)
프로젝트를 다시 빌드하십시오.
UPD 30 Sep 2018 :
필자의 경우이 오류를 해결하기 위해 Android NDK Revision r16b를 사용했습니다. 따라서이 버전의 예제를 제시합니다.
그러나 Android NDK, 개정판 r17c (2018 년 6 월)를 사용하는 것이 좋습니다. 밉스 (주말의 의견에서 합리적인 추천)를 지원하는 마지막 것입니다.
다운로드, 복사 또는 심볼릭 링크없이 이전 버전의 Android Gradle 플러그인이 제거 된 mips 툴체인을 기대하는 빈 디렉토리를 생성하여 오류를 "수정"할 수있었습니다.
mkdir -p $ANDROID_HOME/ndk-bundle/toolchains/mips64el-linux-android/prebuilt/linux-x86_64
분명히
$ANDROID_HOME
여기에서 Android SDK 설치의 루트를 가리 킵니다.
당신이 맥 OS를 사용하는 경우
, 교체
linux-x86_64
로
darwin-x86_64
위의 명령이다. Windows에서는을 사용하십시오
windows-x86_64
.
NDK가 필요 없어서 제거했습니다. Android 스튜디오의 SDK 관리자 (도구-> Android-> SDK 관리자)로 이동하십시오. NDK가 설치된 경우. 상자를 선택 해제하고 확인을 클릭하십시오. 설치된 구성 요소가 삭제됩니다.
필자의 경우이 오류는 새로운
Android Studio (Android studio 3.2.1)
Java 프로젝트를 만들 때 발생했습니다.
classpath 'com.android.tools.build:gradle:2.0.0-beta6'
그래서 나는 다운 그레이드했습니다
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}
가장 좋은 해결책은 이전 버전을 유지하는 것이 아니지만
local.properties
의 NDK 경로 가 여전히 동일하기 때문에 베타의 일시적인 버그 일뿐 이지만 IDE는 더 이상 불평하지 않습니다.
추출 후 폴더에 모든 파일을 생성하지 못하는 문제가 Android NDK 18.0 *에있는 것 같습니다. 이로 인해 ndk 빌드를 사용하는 앱 컴파일이 실패합니다.NDK 17.1 * (
https://developer.android.com/ndk/downloads/
) 등 버전을 사용하는 것이 좋습니다. 안드로이드 스튜디오 추출을 추출하거나 사용하여 기본적으로 ndk-bundle을 사용할 수 있습니다.
Android Studio를 열고 도구로 이동 한 다음 Android 및 SDK로 이동하여 NDK를 선택 취소하십시오 (필요하지 않은 경우) .Android Studio를 다시 시작하십시오.
[
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 버전에서 밉이 더 이상 사용되지 않기 때문에 Gradle 버전 3.1.2는 밉에 대한 강제가 없습니다. 이러한 누락 된 폴더가 존재한다고 가정합니다.
프로젝트 레벨에서 Gradle 파일은 다음과 같이 종속성 클래스 경로 버전을 낮거나 높입니다.
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
}
처럼 변경
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}
(프로젝트 : ProjectName)의
google()
두 리포지토리에 종속성을 추가하여 해결했습니다
build.gradle
. 그런 다음 프로젝트를 동기화
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()
}
}
간단한 솔루션은 mips64el-linux-android-4.9 및 mipsel-linux-android-4.9 폴더가 포함 된 다음 파일을 SDK "android-sdk \ ndk-bundle \ toolchains"내의 툴체인 폴더로 다운로드하여 압축을 풉니 다.
비슷한 문제가 있었지만 프로젝트 요구 사항으로 인해 NDK 버전 r9d를 사용하고 싶었습니다.에서
local.properties
경로로 설정
ndk.dir=C\:\\Android\\ndk\\android-ndk-r9d
하지만 문제가 발생할 것을 :
NDK toolchains 폴더에 접두사가있는 ABI의 툴체인이 없습니다 : [toolchain-name]
해결책은 다음과 같습니다.
- SDK 관리자를 사용하여 최신 NDK 설치
- 누락 된 툴체인 [toolchain-name]을 새 ndk에서 기존 ndk로 복사하십시오. 내 경우에는
sdk\ndk-bundle\toolchains
~\ndk\android-ndk-r9d\toolchains
- 필요한 모든 툴체인이있을 때까지 프로세스를 반복하십시오.
복사 된 툴 체인은 사용되지 않지만 어떤 이유로 든 거기에 있어야합니다.
설치되지 않은 ndk 로이 질문을 해결했습니다. 필요하지 않기 때문입니다.
여기 수정이 있습니다.안드로이드 스튜디오에서 프로젝트를 컴파일 할 때 가끔 다음과 같은 상황이 발생합니다.
오류 : arm-linux-androideabi / llvm 접두사가있는 ABI의 NDK 툴체인 폴더에 툴체인이 없습니다.
관련 구성 요소를 업데이트하면 발생할 수 있습니다. 해결책은 Android 스튜디오 (도구-> Android-> SDK 관리자)입니다. ndk 항목을 선택하고 삭제하십시오. 프로그램에 필요한 경우 다시 설치할 수 있습니다. 이렇게하면 폴더 위치가 올 바르고 문제가 발생하지 않습니다.
내가했던 것처럼 그것을 고치기 위해Android Studio 파일> 프로젝트 구조 및 프로젝트로 이동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 ()을 찾지 못하면 추가하십시오.
Android Studio 3.2.1의 경우 Gradle 버전
4.6
안드로이드 플러그인 버전
3.2.1
이 문제는 주로 github에서 이전 프로젝트를 복제 할 때 발생합니다. 당신이 할 수있는 것은
- 클래스 경로를
클래스 경로 'com.android.tools.build:gradle:3.2.1'
프로젝트 레벨 gradle에서.
- 그런 다음
compileSdkVersion을
제외하고 구현으로 컴파일의 모든 인스턴스를 변경하십시오 . 앱 레벨 gradle에 그대로 유지하십시오. -
동기화
대신 이제 프로젝트 만들기 (Ctrl + F9)를 클릭하십시오. - 필요한 경우 Google Maven 리포지토리를 추가하십시오.
- 필요한 경우 gradle wrapper를 업그레이드하십시오.
(Android Studio IDE는 4 단계와 5 단계에서 동일하게 요청 / 안내합니다)해결 !! 코딩 즐기기
참고 :이 답변은 다음과 같은 것으로 보이지만 다음 No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
과 같이 링크되어 있습니다.
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
프로젝트 파일을 [플러그인 버전 3.1 이상 사용]으로 업데이트하십시오. 또한 Android Studio 3.1 이상으로 업그레이드해야합니다.
NDK를 사용하지 않는 경우 환경 변수를 설정 해제하십시오
ANDROID_NDK_HOME
.
나를 위해 안드로이드 스튜디오에서 안드로이드 NDK를 설치하는 데 약간의 문제가 있다고 생각합니다. 나는 다음과 같은 방법으로 이것을 해결할 수있었습니다.Android NDK에서 다운로드
https://developer.android.com/ndk/downloads/index.html
ndk-bundle (안드로이드 SDK가 설치된 위치) 안에 배치됩니다. 자세한 내용은이 화면을 확인하십시오.
https://app.box.com/s/dfi4h9k7v4h0tmbu3z9qnqx3d12fdejn
Ionic 3을 사용하는 경우 android studio sdk 도구에서 ndk를 제거하십시오.
자신의 로컬 안드로이드 SDK를 찾으십시오. ndk의 관련 SDK를 다운로드하면 "ndk-bundle"이라는 폴더가 있습니다.
안에 "툴체인"이라는 폴더가 있습니다.
내부에 mips64el 관련 파일이 없습니다.
해결책은 다음과 같습니다.
브라우저를 통해 NDK 패키지를 별도로 다운로드 하려면 여기 를 클릭하십시오 . 압축을 푼 후 "toolchains"폴더를 열고 android-sdk-> ndk-bundle-> toolchains 폴더와 비교하고 누락 된 폴더를 찾은 다음 과거 3을 복사하십시오. 다시 컴파일하면 문제가 해결됩니다. 그것이 당신이 짝짓기를 돕는 희망
같은 문제에 직면.나는 방법에 따라 성공했다.buldle.gradle 파일을 열고 두 클래스 경로를 따르도록 버전을 업그레이드하십시오. 클래스 경로 'com.android.tools.build:gradle:3.2.1'클래스 경로 'com.google.gms : google-services : 4.2.0'그런 다음 동기화하고 업데이트 Gradle 버전에 대한 하나의 딜라 오를 얻은 다음 해당 링크를 클릭하고 필요한 모든 업데이트 다운로드를 기다립니다 (인터넷 사용 가능). 오랜 시간이 걸리면 성공했습니다.
먼저, ndk 버전 https://developer.android.com/ndk/downloads/를 업데이트
그래도 작동하지 않으면 다음을 시도해보십시오.
-
폴더 만들기
Sdk \ ndk-bundle \ toolchains 폴더 (내 경우에는 C : \ Users \ USER \ AppData \ Local \ Android \ Sdk \ ndk-bundle \ toolchains로 이동하십시오. 파일-> 프로젝트 구조-> SDK에서 찾을 수 있습니다. 예 : 오류가있는 경우 오류에서 누락 된 것으로 표시된 이름의 폴더를 만듭니다. Gradle 동기화 실패 : 접두사가있는 ABI의 NDK 도구 체인 폴더에 도구 체인이 없습니다 : mipsel-linux-android -
그런 다음 이름이 mipsel-linux-android 인 폴더를 만듭니다.
-
컨텐츠 포함
Sdk \ ndk-bundle \ toolchains 폴더로 다시 이동하여 이미있는 폴더를여십시오. 예를 들면 다음과 같습니다. Sdk \ ndk-bundle \ toolchains \ aarch64-linux-android-4.9 (내 경우 C : \ Users \ USER \ AppData \ Local \ Android \ Sdk \ ndk-bundle \ toolchains \ aarch64-linux-android-4.9)미리 작성된
폴더를 마지막 단계에서 만든 폴더로 복사 - 프로젝트를 다시 실행하면 작동합니다.
그것이 도움이되기를 바랍니다!
다음과 같이 문제를 해결하기 위해 수행 한 단계
Analyze -> Code Cleanup
File -> Project Structures -> Select project from the list and update the gradle version to latest.
Build -> Clean Project
Build -> Make Project
이제 빌드와 관련된 문제가 구현 대신 컴파일을 사용하는 것처럼보고 될 수 있습니다.문제를 해결하고 문제를 해결해야합니다.
NDK를 다시 설치하여 문제를 해결했습니다.참고 :
'programing' 카테고리의 다른 글
Return 키를 누를 때 키보드를 숨기는 방법은 무엇입니까? (0) | 2020.05.12 |
---|---|
Django로 이메일 템플릿 만들기 (0) | 2020.05.12 |
jQuery없이 urlencoded 양식 데이터를 $ http로 어떻게 POST합니까? (0) | 2020.05.12 |
Android RecyclerView에서 구분선을 어떻게 추가 할 수 있습니까? (0) | 2020.05.12 |
XML 형식의 html 형식 문자열 리소스에서 TextView 텍스트 설정 (0) | 2020.05.12 |