Android2 min read

Android Studio APK 만들기: debug·서명된 release와 파일 위치

2019년 6월 2일2 min read작성자 Flature

테스트용 debug APK와 배포용 서명된 release APK를 구분하고 Gradle 명령과 출력 경로를 설명합니다. APK·AAB 차이, 서명 확인과 설치 실패 점검도 정리합니다.

테스트용 APK는 debug 빌드로, 직접 배포할 APK는 적절한 키로 서명한 release 빌드로 만듭니다. debug APK도 디버그 키로 서명됩니다. 둘의 차이를 단순히 “서명이 있느냐 없느냐”로 보면 안 됩니다. Google Play 제출용 Android App Bundle(AAB)과 기기에 설치하는 APK도 구분하세요.

목적에 따라 산출물 고르기

목적일반적인 선택주의점
개발 기기에서 테스트debug APK디버그 설정·서명이 포함된 개발용
직접 배포서명한 release APK서명 키·업데이트 호환성과 배포 경로 관리
Google Play 제출Android App Bundle 검토현재 앱 유형과 Play 제출 요건을 공식 문서에서 확인

Gradle로 debug APK 만들기

Android SDK와 프로젝트가 요구하는 JDK·Gradle 환경을 먼저 준비합니다. 프로젝트 루트에서 실행하며 모듈 이름이 app이고 별도 flavor가 없는 예제입니다. Windows에서는 gradlew.bat를 사용합니다.

./gradlew :app:assembleDebug
# 일반적인 결과 위치
# app/build/outputs/apk/debug/app-debug.apk

flavor·모듈·출력 설정에 따라 경로와 task가 달라집니다. 빌드가 실패하면 마지막 오류뿐 아니라 먼저 실패한 task와 SDK·의존성 오류를 확인하세요. 설치된 앱을 추출하는 작업과 소스로 새 APK를 빌드하는 작업은 다릅니다.

서명한 release APK 만들기

  1. Android Studio의 서명된 Bundle/APK 생성 기능을 엽니다. 버전에 따라 메뉴 위치는 다를 수 있습니다.
  2. APK와 대상 모듈을 선택하고 해당 앱에 사용할 keystore와 alias를 지정합니다.
  3. release 변형과 지원 기기에 맞는 서명 설정으로 생성합니다.
  4. 출력 위치의 산출물과 서명을 확인한 뒤 테스트 기기에 설치합니다.
# Android SDK Build Tools의 apksigner가 PATH에 있는 경우
apksigner verify --verbose path/to/app-release.apk
# 연결·권한이 확인된 테스트 기기에 설치
adb install -r path/to/app-release.apk

명령줄 assembleRelease만으로 올바른 release 서명이 항상 생기지는 않습니다. 프로젝트 signingConfig를 확인해야 합니다. 서명 키·암호는 소스 저장소에 넣지 않고 안전하게 보관하세요.

설치나 업데이트가 안 될 때

같은 applicationId의 기존 앱과 서명이 다른지, minSdk가 기기를 지원하는지, ABI와 배포 형식이 맞는지 확인합니다. 서명 불일치를 해결하려고 앱을 삭제하면 기기 데이터가 사라질 수 있으므로 먼저 원인을 확인하세요. 아래 화면은 2019년 기록이며 최신 메뉴·서명 기본값의 기준으로 사용하지 않습니다.

참고 자료

기존 기록의 화면과 도식

최초 발행 당시의 참고 자료입니다. 최신 설정은 위 설명과 해당 버전의 공식 문서를 확인하세요.

Make APK 1
Make APK 2
Make APK 3
Make APK 4
Make APK 5
APK Installing Flow