Nomad Engineer

안드로이드 NDK 명령줄에서 설치 및 빌드하기 본문

개발/안드로이드

안드로이드 NDK 명령줄에서 설치 및 빌드하기

universehan 2021. 1. 31. 13:34

절차

  • SDK가 잘 설치되어 있는지 어디에 설치 되어 있는지 확인
  • 안드로이드 커맨드 라인 툴 설치 및 확인
  • 명령줄에서 ndk 설치 하기
  • 명령줄에서 cmake 설치
  • 명령줄에서 빌드하기

(SDK 를 명령줄에서 다운 받는 방법 작성 해야함)

SDK 경로 확인

안드로이드 스튜디오에서 상단 SDK Manager 아이콘을 클릭 하거나, Preference > Appearance & Behavior > System Settings > Android SDK에서 Android SDK Location을 보면 확인 할 수 있음.

SDK Manager

SDK Manager

안드로이드 SDK Command-line 툴이 설치되어 있는지 반드시 확인해야 한다.

(Android SDK Path)/cmdline-tools/(version)/bin/ 디렉터리에 다른 툴들과 함께 sdkmanager 가 들어 있다. 나의 경우는 ~/Library/Android/sdk/cmdline-tools/(version)/bin/ 에 설치됨

잘 실행 되는지 확인해 보자

주의 : (Android SDK Path)/tools/bin 에 아주 오래전에 설치했던 도구들이 있을 수 있는데 최근에 JDK와 호환이 안되거나 환경 변수 설정 문제로 아래와 같은 에러들을 만날 수 있으니. 꼭 위 과정에서 Android SDK Command-line Tools 를 별도로 설치해서 사용하도록 하자.

기본적으로 설치되어 있던 sdkmanager 에서 나는 오류

Java 관련 문제를 해결하는건 생각보다 귀찮고 복잡하다. openjdk를 사용하고 있는 나는 더 복잡해서 포기했음.

설치 하고자 하는 ndk 버젼 확인

ndk를 command 라인에서 설치 하려면 버젼을 확인해야 하는데 나 같은 경우는 공식 사이트에서 지원하는 LTS버전을 설치 하도록 하였다.

$ sdkmanager --install "ndk;21.3.6528147"

다음 처럼 잘 설치 되었다.

cmake 설치

cmake를 설치 한다. 여기에 몇가지 함정이 있는다. 버젼을 명시해 주지 않으면 안된다는점. 또 하나는 버젼을 명시하는 방법이 공식 문서에 나온대로 하면 안된다. 설치해야 할 버젼은 3.10.24988404 인데 공식 문서에는 10.24988404 라고 되어 있고 실제 적어줘야 하는 버전은 3.10.2.4988404 이다. 왜 그런지는 나도 모름.

$  ./sdkmanager --install "cmake;3.10.2.4988404"

아무튼 잘 설치 됐다.

빌드 하기

이제 빌드를 해보자. 나 같은 경우는 아직 개발용으로 빌드해서 팀에 배포하기 때문에 assembleDebug 그래들 명령을 사용하여 빌드 했다.

$ ./gradlew assembleDebug

개발 환경

이 글을 작성할 당시의 개발 환경

MacBook Pro(Retina, 13-inch, Early 2015)
macOS Catalina 10.15.7
zsh 5.7.1 (x86_64-apple-darwin19.0)

결론

끝이다. 명령줄에서 한 두줄만 치면 될줄 알았던거랑은 다르게. 몇 가지 함정들이 존재했다. 그래도 네이티브 빌드를 하는것 치고는 간단한 편인것 같다.


다음에는 이 내용을 기본으로 해서 도커 빌드를 위한 Dockerfile을 만들어 보고, 나의 깃랩 파이프라인에 적요해봐야겠다.

References

 

반응형