본문 바로가기
C++ 200제/코딩 IT 정보

ionic5 android apk 배포 - debug, sign, 릴리즈 설치 방법

by vicddory 2020. 7. 3.

ionic5 android 프로젝트를 이용해 apk 배포하는 방법 정리합니다. debug, sign, 설치 방법에 대한 순서는 아래와 같습니다.


  1. ionic5 cordova 안드로이드 프로젝트 생성
  2. 릴리즈를 위해 앱 최적화
  3. .keystore 생성
  4. 릴리스 apk 파일 생성
  5. 디바이스에 apk 배포 (설치 파일 형태)

간단한 테스트를 위해 안드로이드 데모 APK를 생성합니다.


ionic cordova platform add android
ionic cordova build android


./platforms/android/app/build/output/apk/debug/ 폴더에 apk를 빌드할 겁니다. 루트 프로젝트 디렉토리에서 android store, terminal, cmd 등을 사용하여 빌드 후 배치하려면 다음 단계를 수행해야 합니다.


릴리즈를 위해 앱을 출시를 위해 앱을 최적화(용량 축소 등) 합니다.


ionic cordova build android --minifycss --optimizejs --minifyjs --release


이어서, 앱의 .keystore를 생성합니다 (앱을 지우거나 위치를 잊으면 안 됩니다). 이 단계는 앱을 업데이트하는 데 필요하지 않으며, my-release-key.keystore 및 alias_name을 원하는 대로 바꿀 수만 있습니다.


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


위의 명령은 암호와 기타 추가 정보를 요구합니다. 안드로이드 앱 서명에 필요한 비밀번호와 지정된 정보를 안전하게 유지하세요.


우선 ./platforms/android/app/build/output/apk/release/app-release-unsigned.apk 안에 릴리스 apk 파일을 만듭니다. app-release-unsigned.apk 파일을 my-release-key.keystore가 있는 루트 프로젝트 디렉토리로 복사하세요.


이제 다음 명령을 실행합니다. (필요한 경우 .keystore 및 alias_name 변경).


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


ionic5에서 배포 후 요청 시 필요한 키 저장소 비밀번호를 입력하세요.


마지막으로 아래 명령을 실행하여 최종 APK를 생성합니다.


$ANDROID_HOME/build-tools/vno/zipalign -v 4
app-release-unsigned.apk newname.apk


원하는 이름으로 newname.apk를 바꾸시면 됩니다.


vno. 안드로이드 빌드 도구 버전 번호를 지정하세요.


예를 들면 아래와 같습니다.


$ANDROID_HOME/build-tools/28.0.3/zipalign -v 4
app-release-unsigned.apk newname.apk


이제 생성된 APK를 Playstore에 업로드 할 수 있습니다


그전에 AVD를 이용할 경우 아래 순서를 따르세요.


배포 가능한 안드로이드 디바이스를 검색합니다.


adb devices -l



아래 명령어로 해당 디바이스에 생성한 apk 파일을 설치합니다.


adb -s emulator-***** install c://*****.apk

설치 명령어 : adb install 파일명.apk

삭제 명령어 : adb uninstall 파일명.apk

재설치 명령어 : adb install -r 파일명.apk

여기까지 ionic5 android 프로젝트를 생성하고 apk 배포하는 방법이었습니다. debug, sign, 릴리즈 설치 방법에 대해 추가로 문의할 부분이 있다면 아래 댓글 창에 내용을 적어주세요.


댓글