Android Studio 및 Gradle을 3.5로 업데이트 한 후 이제 다음 오류가 발생합니다.
NDK 해상도 결과 : 프로젝트 설정 : Gradle 모델 버전 = 5.4.1, NDK 버전이 알 수 없음
build-gradle에서 Gradle 버전을 3.4.2로 다시 변경했지만 도움이되지 않았습니다.
Android Studio 및 Gradle을 3.5로 업데이트 한 후 이제 다음 오류가 발생합니다.
NDK 해상도 결과 : 프로젝트 설정 : Gradle 모델 버전 = 5.4.1, NDK 버전이 알 수 없음
build-gradle에서 Gradle 버전을 3.4.2로 다시 변경했지만 도움이되지 않았습니다.
답변:
나는 비슷한 문제를 가지고와 사용 여는 프로젝트에 의해 그것을 해결 Import project (Gradle, Eclipse, etc.)
하는 대신 Open existing Android Studio project
.
왼쪽 패널에서 File> Project Structur> Choosing SDK 위치에서 NDK를 다운로드하고 NDK 위치 부분에서 다운로드를 누를 수 있습니다.
Android 스튜디오를 업그레이드 한 후에도 동일한 문제가 발생했습니다. NDK 경로 를 열고 경로를 local.properties
변경 하기 만하면 ndk.dir
됩니다.
암호:
ndk.dir=D\:\\Android\\SDK\\ndk-bundle
sdk.dir=D\:\\Android\\SDK
내 프로젝트에서 NDK를 사용하지 않지만 같은 문제가 발생했습니다. SDK 버전을 최신 compileSdkVersion 29 로 업데이트 한 후 문제가 사라졌습니다.
나는 (여기에 나열된) 일부에 대해 작동하는 해결 방법이 있지만 해결 방법이 모든 사람에게 작동하지 않기 때문에 gradle에 근본적인 버그가 있음을 자세히 설명하는 이전 답변 (조정자가 삭제 한 이후)을 받았습니다 (특히 : 없음) 그들은 나를 위해 일합니다)
관련 Google 문제는 다음과 같습니다. https://issuetracker.google.com/issues/140403764
업데이트 : 오늘 (20190920) 현재 그들은 근본적인 문제를 해결했음을 나타내므로 오늘 (20190920) 이후에 gradle의 향후 릴리스에 수정 사항이 포함될 것으로 예상됩니다.
업데이트 2 : 오늘 (20190926) Google 직원으로부터 문제 코드가 Android Studio에 있고 3.6 릴리스 브랜치에 포함되어 있지만 현재 공개적으로 사용 가능한 빌드에서는 사용할 수 없다는 응답을 받았습니다 (Android Studio 3.6 Canary 12는 이 수정이 이루어지기 직전에 릴리스 됨). 이를 통해 업데이트 할 구성 요소와주의해야 할 버전을 알 수 있습니다. Android Studio 3.6 Canary 13 이상에는 https://issuetracker.google.com/issues/140403764#comment13 이 있어야합니다.
그때까지는 해결 방법을 시도 할 수 있지만 공급 업체 버그가 있고 해결 방법이 작동하지 않으면 공급 업체 패치를 기다려야합니다.
오늘 Android Studio 3.5.0에서 3.5.1로 업그레이드 한 후이 문제가 처음 발생했습니다.
상단 메뉴 Build-> Rebuild Project에서 간단히 다시 빌드했습니다.
이것은 문제의 원인에 따라 모든 사람에게 작동하지 않을 수 있지만 내겐 효과적이었습니다. 한번 시도해보세요.
(또한 NDK를 사용하지 않으며 이전에 다운로드 한 적이 없습니다. 아직 다운로드하지 않았습니다.)
file > Invalidate Caches\Restart
IDE 로 이동 하여 문제를 해결하면 다시 시작되고 문제가 해결됩니다.
최근 Android Studio 업그레이드 후 동일한 오류 메시지가 표시되었습니다. 나는 여기에서 다른 답변을 시도했지만 아무것도 작동하지 않았습니다. 그러나 @Zahra의 대답은 저에게 효과가 있었던 것을 지적했습니다.
File-> Project Structure로 이동합니다 ... " Android NDK Location "에서 드롭 다운을 클릭하고 " DEFAULT NDK Recommended "옵션을 선택합니다.
기본값을 선택하기 전에 약간 다른 경로가있었습니다. SDK 관리자를 사용하여 업그레이드하는 중 경로가 변경된 것 같습니다.
이제 local.properties 파일에서 sdk.dir 은 " DEFAULT NDK Recommended "옵션 과 동일한 디렉토리로 설정됩니다 .
나는 같은 문제가 있었다. 내 환경은 다음과 같습니다.
SDKManager로 CMake 3.10을 제거했습니다. (설치된 CMake는 3.6 만 해당)
Gradle 동기화 및 빌드가 성공했습니다.
(1)
android-gradle-plugin 3.1.2는 CMake 3.10을 사용했습니다.
android-gradle-plugin 3.1.2 (또는 3.1. +)에서 CMake 3.7 이상 지원 기능은 미리보기 기능입니다.
( gradle assembleDebug
또는의 출력 메시지에서 gradle sync
.)
(2)
https://developer.android.com/studio/projects/add-native-code.html#use_a_custom_cmake_version
SDK Manager에는 CMake 3.6.0 분기 버전과 3.10.2 버전이 포함되어 있습니다. build.gradle에서 특정 CMake 버전을 설정하지 않는 프로젝트는 CMake 3.6.0으로 빌드됩니다.
아마도이 동작은 android-gradle-plugin 3.3 이상일 것입니다. (Android-studio 3.3에서 CMake 3.10을 다운로드 할 수 있음)
android-gradle-plugin 3.1.2는 설치된 CMake의 최신 버전을 사용했습니다.
Mac에서도 동일한 문제가 발생했습니다.
제안 : .gradle 폴더를 강제로 다시 빌드합니다.
여전히 이벤트 로그에 'NDK 버전이 알 수 없음'이 표시되지만 성공적으로 빌드되고 문제가 발생하지 않습니다. (NDK를 다운로드하지 않았습니다.)
이렇게하면 Android Studio가 프로세스에서 충돌하는 파일을 수정하는 .gradle 폴더를 다시 빌드하고 다시 다운로드합니다.
Android Gradle 플러그인 버전을 3.1.4에서 3.4.0으로, Gradle 버전을 4.4에서 5.1.1로 동시에 업데이트하면 문제가 해결됩니다. 물론 SDK 관리자로 최신 NDK (Side by Side)를 다운로드했습니다.
제 경우에는 SdkVersion 29로 업그레이드하여 문제를 해결하고 AndroidX로 마이그레이션합니다.
업그레이드 후 내 프로젝트 중 하나에서 동일한 문제가 발생합니다. local.properties 파일에서 ndk.dir = D : \ Android \ SDK \ ndk-bundle 줄을 삭제하는 것만으로 해결했습니다.
Bitbucket 하이퍼 링크를 통해 버전 제어에서 프로젝트를 가져온 후이 오류 (및 기타 여러 가지)가 발생했습니다.
가져온 후에는 프로젝트를 닫고 File > New > Import Project
. 그 후 모든 것이 올바르게 구축되었습니다. (NDK 경로가 이미 올바르게 지정되었으며 새로 가져 오기만 작동 함)
메타 :
Android Studio 3.5
Build #AI-191.8026.42.35.5791312, built on August 8, 2019
JRE: 1.8.0_202-release-1483-b49-5587405 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.13.6
Gradle 3.4.0
확인. 최근에 최신 버전의 Android 스튜디오를 다운로드했는데 비슷한 오류가 발생했습니다. 그래서 결국 새로운 프로젝트를 만들었습니다. Kotlin 언어를 선택한 다음 Jelly Bean을 선택했습니다 (선택할 옵션에 대해 이야기). 그런 다음 전체 동기화가 시작되었지만 첫 번째 동기화가 실패하고 결국 다시 자동 동기화되고 모든 것이 작동하기 시작했습니다. 초보자이기 때문에 기본 코드 (텍스트)를 수정했지만 오류 메시지가 없습니다. 미리보기는 괜찮 았고 계속 배웠습니다. 더 잘 설명하지 못해서 죄송합니다. 저는 초보자 일뿐입니다. 오! 작동하려면 인터넷에 연결되어 있어야합니다.
나는이 문제가 있었고 해결책 중 어느 것도 나를 위해 일하지 않았습니다. 문제는이 오류 또는 경고가 매우 광범위한 이유로 나타날 수 있다는 것입니다. 다음 단계에 따라 무엇이 잘못되었는지 확인할 수 있습니다.
NDK가 없습니다.
Gradle이 네이티브 종속성 컴파일을 시작하면 "app"폴더에 ".cxx"폴더가 생성됩니다. 그 폴더 안에는 아주 이상한 유형의 로그 파일 인 "ndk_locator_record.json"파일이 있습니다. 기본적으로 Gradle이 NDK 폴더를 찾기 위해 확인하는 모든 경로입니다. NDK 버전 번호에 오류나 불일치가있는 경우이 파일에서 확인할 수 있습니다.
NDK 빌드 실패
어떤 알 수없는 이유로 (Gradle을 어쩌면 버그)에 대한 NDK 빌드하는 대신이 같은 실패, 쇼, 이벤트 로그 창에서 실제 오류를 표시하지 않습니다 .... ndkBuild에 대한 외부 기본 빌드를 실행 : Gradle을 동기화 실패 로 다음 NDK 해상도 결과 : 프로젝트 설정 : Gradle 모델 버전 = 5.4.1, NDK 버전은 UNKNOWN 입니다.
이 경우 .cxx> ndkBuild> debug> x86 (x64 또는 다른 cpu arch)로 돌아가십시오. 여기이 폴더에서 "json_generation_record.json"파일을 찾을 수 있습니다. 동일한 유형의 로그이며 일반적으로 마지막 항목에 실제 오류가 있습니다. . 예를 들어, 저에게는
../../sdk/native/jni/OpenCV.mk: No such file or directory
make: *** No rule to make target '../../sdk/native/jni/OpenCV.mk'. Stop.
여기에서 후드 아래에서 무엇이 잘못되고 있는지 알아볼 수있는 시작점이 있습니다.
ANDROID_NDK_HOME
있습니까 ( build.gradle, local.properties 또는에서 지정됨 )? NDK의 source.properties 파일에는 무엇이 있습니까?