본문 바로가기

안드로이드/안드로이드 디버깅

[Android] Nanodet 빌드 관련 이슈(No version of NDK .../ but only supports armeabi-v7 .../Didn't find class on path: DexPathList)

Nanodet 딥러닝 활용 시도 중 Gradle 문제 발생

 

No version of NDK matched the requested version

위 문제는 build.gradle(:app)에서 아래와 같이 구문을 추가하면 해당 버젼을 자동으로 설치하고 해당 버젼으로 실행이 된다.

android {
    ....
     ndkVersion "21.0.6113669"4
     ...
}

다음으론 디바이스 관련 에러로 x86은 지원하지만 armeabi-v7, .. 등은 지원하지 않는다는 에러이다.

아래와 같이 x86을 추가해주면 된다.

android {
    ...
        ndk {
            moduleName "NcnnJniLog"
            ldLibs "log", "z", "m"
            abiFilters "armeabi-v7a", "arm64-v8a", "x86" //x86 추가
        }

        multiDexEnabled true
    }
    ...
}

 

Didn't find class on path: DexPathList

애플리케이션 클래스를 찾을 수 없으며 DexPathList와 관련지어 나온다면 아래 처럼 1.8 컴파일 옵션을 추가해주면 된다.

build:gradle(:app)

 compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

 

NDK is missing a "platforms" directory.

빌드시 해당 경고와 함께 A problem occurred configuring project ':app'. > java.lang.NullPointerException (no error message)가 발생하며 빌드에 실패한다.

해당 에러는 NDK 경로가 설정되지 않아서 발행하는 문제로 local.properties에 ndk 디렉토리를 설정해주어야 한다. 

ndk.dir=C\:\\Users\\knmy0\\AppData\\Local\\Android\\Sdk\\버젼