구레나룻

Linux on Dex 에 안드로이드 앱(APK) 빌드환경 구축 본문

DEX 활용기

Linux on Dex 에 안드로이드 앱(APK) 빌드환경 구축

GURENAREUT 2019. 3. 20. 20:31
이번에는 Linux on Dex 에 안드로이드 앱 빌드환경을 설정해 봤습니다.
Android SDK command line tool 과 arm64 타겟으로 빌드된 aapt 와 aapt2 를 찾아 적용 하니 잘 됩니다.
아래 정리된 과정을 따라해 보면 안드로이드 단말에서 안드로이드앱을 개발 해서 안드로이드 단말에서 돌려 볼 수 있습니다. ^^

Android SDK command line tool 다운로드 및 압축해제

아래 페이지 에서 sdk-tools-linux-000000.zip 파일을 다운로드 하여 적당한 위치에 압축 해제 합니다.

platform tool 및 android platform 설치

아래 명령을 실행하여 플랫폼 툴과 안드로이드 플랫폼을 설치 합니다.
$ [android sdk dir]/tools/bin/sdkmanager "platform-tools" "platforms;android-28" "build-tools;28.0.3"

aapt, appt2 설치

구글에서 제공하는 빌드 툴의 실행파일들은 모두 x86 타겟으로 빌드되어 arm64 기기에서는 실행이 안됩니다.
그래서 아래 페이지에서 arm64 target 으로 빌드된 aapt 와 aapt2 파일을 찾아 다운로드 합니다.

아래 명령으로 실행 권한 추가 하고
$ chmod 755 aapt aapt2

aapt 와 aapt2 파일을 빌드툴 디렉토리에 복사 하여 기존에 x86 타겟으로 빌드된 파일을 덮어 씁니다.
$ cp aapt* [android sdk dir]/build-tools/28.0.3

aapt 실행을 위한 환경 변수설정을 위해 아래를 .bashrc 파일에 추가 합니다.
# THIS IS FOR AAPT
export ANDROID_DATA="/data"
export ANDROID_ROOT="/system"

빌드

빌드할 Android 앱 프로젝트가 없다면 IntelliJ 를 실행하여 Android 앱 프로젝트를 생성 합니다.
Android 앱 프로젝트에서 아래 명령으로 APK 빌드를 실행하면 build/outputs/apk/release 와 debug 디렉토리에 unsigned apk 가 생성됩니다.
$ ./gradlew build

APK 서명

key 파일은 이미 가지고 있는 것을 가정하고...
아래 명령으로 빌드툴에 포함된 apksigner 를 사용해 apk 를 서명합니다.
(자세한 apksigner 사용법은 https://developer.android.com/studio/command-line/apksigner 참고)
$ [android sdk dir]/build-tools/28.0.3/apksigner sign --ks keystore.jks app-release-unsigned.apk



끝!




Comments