일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 데일리코테
- Android
- 완주하지못한선수
- 3진수
- 코딩시험
- Python
- 파이썬설치
- 프로그래머스
- 개발영어
- pyenv
- 안드로이드
- 크레인인형뽑기
- JavaScript
- 일일코테
- 이직
- 커맨드라인툴
- sdkmanager
- 알고리듬
- 알고리즘
- MediaExtractor
- C++
- 데일로코테
- Cpp
- CMAKE
- 코테
- AAudio
- NDK
- MediaCodec
- 코딩테스트
- 기술인터뷰
- Today
- Total
Nomad Engineer
안드로이드 NDK 명령줄에서 설치 및 빌드하기 본문
절차
- SDK가 잘 설치되어 있는지 어디에 설치 되어 있는지 확인
- 안드로이드 커맨드 라인 툴 설치 및 확인
- 명령줄에서 ndk 설치 하기
- 명령줄에서 cmake 설치
- 명령줄에서 빌드하기
(SDK 를 명령줄에서 다운 받는 방법 작성 해야함)
SDK 경로 확인
안드로이드 스튜디오에서 상단 SDK Manager 아이콘을 클릭 하거나, Preference > Appearance & Behavior > System Settings > Android SDK에서 Android SDK Location을 보면 확인 할 수 있음.
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 를 별도로 설치해서 사용하도록 하자.
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
- SDK Manager 공식 문서
developer.android.com/studio/command-line/sdkmanager?hl=ko - NDK LTS 버젼 확인하기
developer.android.com/ndk/downloads?hl=ko - 커맨드 라인을 이용한 개발 환경 구성
다음의 android-ci 의 Dockerfile 을 참조함
github.com/seanghay/android-ci/blob/master/Dockerfile - 안드로이드 명령줄에서 빌드하기 공식문서
developer.android.com/studio/build/building-cmdline?hl=ko - 안드로이드 커맨드라인 sdk 다운로드
developer.android.com/studio/index.html#command-tools
'개발 > 안드로이드' 카테고리의 다른 글
Android NDK 첫 가상각기 만들기 (0) | 2021.02.01 |
---|---|
안드로이드(Android) NDK 개발 유용한 사이트 모음 (0) | 2021.01.31 |
안드로이드 기존 프로젝트에 c++ 코드를 사용하는 방법 (4) | 2021.01.30 |
Android AudioTrack (0) | 2021.01.24 |
Android 미디어 개발 How To 목록 (0) | 2021.01.24 |