2019. 4. 12. 19:03ㆍProgramming/Android
기존 프로젝트에서 NDK v14
버전을 사용하고 있었는데, 별 생각없이 Android Studio를 켜서 YES
를 누르다보니 빌드가 되지 않는다. 빌드 에러를 천천히 읽어보니 Gradle v3.3.1
에서는 NDK v14
를 지원하지 않으니, NDK
를 업데이트 하라는 내용이었다. 별 생각없이 업데이트하고 났는데 왠걸. Gradle v3.3.1
로 업데이트하고나니 Samsung
에서 출시된 5.X버전의 안드로이드 기기에서 문제가 발생했다. KISA에서 배포하는 SEED CBC
암호화를 적용할 경우, 앞에서 몇 글자가 깨지는 문제였다. 뭐가 원인인지 한참을 찾다가 Gradle v3.2.1
의 최소 targetSDKVersion
은 28이기 때문에, 25로 지정된 targetSDKVersion
은 무시된다는 내용이었다.
dependencies {
//gradle 3.3.1버전은 targetSDKVersion이 28 이하일 경우, 이 옵션을 무시한다.
classpath 'com.android.tools.build:gradle:3.3.1'
}
설마 이 녀석인가, 싶어서 Gradle의 버전을 2.3.3으로 낮추니 NDK
버전이 호환되지 않는다는 에러 메시지가 출력됐다. 부랴부랴 SDK Manager를 실행시켜서 NDK항목을 확인해보니 왠걸. 이전버전의 NDK를 다운받는 기능이 없지 않은가.
애석하게도 SDK Manager는 이전버전의 NDK를 다운받는 기능이 없다.
이전 버전의 NDK
는 NDK 아카이브(Archive), Android Developers 페이지에서 다운받을 수 있다. 다운받은 후 압축을 푼 후, local.properties
의 ndk.dir
항목에 경로를 지정하면 된다.
local.properties
파일 내에서NDK
의 경로만 지정하면 적용된다.
local.properties
파일의 내용을 수정한 뒤 NDK
의 버전이 적용되지 않는다면, Android Studio
를 껏다 켜도도록 하자. 이상없이 적용되는 것을 확인할 수 있다. Gradle 2.3.3
버전에서 빌드되는 것으로 확인할 수도 있지만, SDK Manager
에서도 NDK의 버전을 확인할 수 있다. :)
'Programming > Android' 카테고리의 다른 글
[GCM to FCM Migration 삽질기#3] Legacy 코드를 제거하자! (0) | 2019.04.24 |
---|---|
[GCM to FCM Migration 삽질기 #2] Migration 시작 (0) | 2019.04.24 |
[GCM to FCM Migration 삽질기 #1] 기존에 사용하던 GCM 코드 확인 (0) | 2019.04.08 |
[Android] NavigationMenu에 checkbox/switch 등의 UI 추가하기 (0) | 2019.03.17 |
[Android] Parcelable in Kotlin (0) | 2019.03.06 |