2020 년 2 월 24 일에 출시 된 Android Gradle 플러그인으로 업데이트 한 후 3.6.0
여러 프로젝트가 독립적으로 실패하기 시작했습니다.
No version of NDK matched the requested version 20.0.5594570. Versions available locally: 21.0.6113669
이전의 예상되는 ndk 버전을 설치하여 로컬로 “고정”하는 것은 매우 간단합니다.
sdkmanager 'ndk;20.0.5594570'
그러나 내 질문은이 구 버전은 어디에서 어떻게 지정됩니까? 최신 버전과 일치하도록 어떻게 업데이트 21.0.6113669
합니까?
답변
옵션 1:
프로젝트 구조 대화 상자 에서 로컬로 설치된 NDK를 간단히 선택할 수 있습니다
창 File > Project Structure...
에서 핫키 를 클릭 하거나 눌러 프로젝트 구조 대화 상자를 열 수 있습니다.CTRL + ALT + SHIFT + S
프로젝트 구조 대화 상자가 열리면 SDK 위치 로 이동하여 Android NDK 위치 에서 로컬로 설치된 NDK 버전을 선택하십시오 . 일반적으로 이것은 사용자 폴더 어딘가에 설치 \AppData\Local\Android\Sdk\ndk\%ndk version%
되고 최소한 Windows의 경우 설치됩니다.
2020 년 2 월 12 일에 빌드 된 Android Studio 3.6 빌드 # AI-192.7142.36.36.6200805의 프로젝트 구조 대화 상자 스크린 샷
옵션 2 :
옵션 1을 수행하면 local.properties
파일 이 편집 되며 대부분의 경우 작동합니다. 그러나이 공식 가이드 에 따라 프로젝트를 빌드하는 모든 머신에서 일관된 NDK 버전을 사용하려면 모듈 gradle 스크립트에서 구성 할 수 있습니다. 간단히 ndkVersion
모듈 gradle 스크립트 android{}
블록 에를 추가하십시오 .
android {
ndkVersion "major.minor.build"
}
큰 따옴표 사이의 문자열을 사용하려는 NDK 버전으로 바꿉니다.
옵션 3 :
특정 머신에서 빌드 된 모든 프로젝트가 동일한 NDK 버전을 사용 ANDROID_NDK_HOME
하도록하려면 NDK 폴더 경로로 환경 변수를 설정할 수도 있습니다 .
답변
나도 이것에 부딪친 다
요청한 버전 20.0.5594570과 일치하는 NDK 버전이 없습니다. 로컬에서 사용 가능한 버전 : 21.0.6113669
옵션 1:
프로젝트 구조 대화 상자 에서 로컬로 설치된 NDK를 간단히 선택할 수 있습니다 !
그러나 로컬 빌드에만 유효합니다 .CI에 대한 솔루션이 필요합니다.
옵션 2 :
사용 된 모든 모듈에서 지정할 때만 작동합니다.
android {
compileSdkVersion 28
ndkVersion "21.0.6113669"
...
}
여기가 작동하지 않을 것 https://github.com/hannesa2/panoramagl/pull/17/checks 이 변화 https://github.com/hannesa2/panoramagl/pull/17/files#diff-cff4e8c294a5dc5e76308662ae1ddcacR6-R7
옵션 3 :
export ANDROID_NDK_HOME=/Users/{my-user}/Development/adt/sdk/ndk/21.0.6113669
너무 작동합니다!
답변
나는 같은 문제가 있습니다. SDK 도구에서 SDK 관리자를 통해 문제를 해결 Show Package Details
한 다음 NDK (나란히) 아래를 스크롤하고 필요한 버전을 선택하고 적용합니다. 아래 이미지를보십시오 :
누구에게나 내 질문은 NDK가 필요없는 프로젝트에 왜 이것이 필요합니까? NDK는 의존성을 위해 노력하는 프로젝트의 기존 요구 사항입니다.
답변
build.gradle, 프로젝트 레벨에서 클래스 경로 버전을 3.5.0으로 변경하십시오.
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
}
나는 같은 문제가 있고 해결되었습니다.
답변
잠시 후 동일한 문제가 발생하여 임시 솔루션을 찾았습니다. ndk
폴더 이름을로 바꿉니다 ndk-bundle
. 프로젝트에서 local.properties
파일 로 이동하여 다음 줄을 추가하십시오 sdk.dir
.
ndk.dir=<path to your ndk folder>
내 것이다:
ndk.dir=G\:\\SDK\\ndk-bundle
sdk.dir=G\:\\SDK
나는 그것이 당신을 돕기를 바랍니다
답변
gradle : 3.6.0 이상으로 업그레이드 한 후 C : \ Users \ <user> \ AppData \ Local \ Android \ Sdk에있는 ndk 및 ndk- 번들 폴더의 이름을 바꾸거나 삭제하십시오.
크레딧은 https://github.com/gradle/gradle/issues/12440#issuecomment-601214647 로 이동합니다.