티스토리 뷰

Ionic&cordova

Android APK Release

불량마늘 2017. 4. 5. 15:38

Android APK Release

Ionic으로 앱을 만들었다면 배포버전을 만들어보자.


Console 삭제

개발에 꼭 필요했던 console plugin을 삭제하자.
배포버전에는 필요없는 플러그인이다.

$ cordova plugin rm cordova-plugin-console


Android Build

cli 명령

$ ionic build android --prod --release


완료가 되면 서명되지 않은 APK 파일이 만들어진다.


platforms/android/build/outputs/apk 경로 안에

나의 경우는 android-release-unsinged.apk 가 만들어졌다.


개인키생성

$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000


실행하면 이 구문을 실행한 디렉토리 내에 my-release-key.keystore 파일이 만들어졌다.


※ 이 키스토어 파일로 서명을 한 앱을 마켓에 배포한다면 나중에 업데이트 할때 필요하므로 꼭 잘 간직해야 한다.


서명되지 않은 앱에 개인키 서명

$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore android-release-unsigned.apk alias_name


android-release-unsigned.apk에 서명이 완료되었다. 


APK 최적화-complessed

android sdk를 설치한 디렉토리/android-sdk-windows/tools 에 보면
zipalign.exe 파일이 있을것이다. 

$ zipalign -v 4 android-release-unsigned.apk android.apk

최종 버전의 android.apk로 만들어졌고, 이것을 마켓에 배포하면 된다.


최적화하는 zipalign.exe와 apk들의 경로가 다르므로 


$ zipalign -v 4 {apk파일이 있는 경로}\android-release-unsinged.apk {최적화된 APK가 만들어지는 경로}\android.apk


이렇게 경로도 지정해주어야 한다. 


MAC에서 최적화

Android SDK 경로의 버전 디렉토리까지 터미널 이동 후,


$ ./zipalign -v 4 {apk파일이 있는 경로}\android-release-unsinged.apk {최적화된 APK가 만들어지는 경로}\android.apk


또는 아무데서나


$ ~/{Android SDK경로/버전}/zipalign -v 4 {apk파일이 있는 경로}\android-release-unsinged.apk {최적화된 APK가 만들어지는 경로}\android.apk



댓글