Skip to content

Most visited

Recently visited

navigation

릴리스 준비

간략히 보기

  • 앱 릴리스에 어떤 리소스가 필요한지 알아봅니다.
  • 릴리스용 앱을 구성 및 빌드하는 방법을 알아봅니다.
  • 앱 릴리스의 모범 사례를 알아봅니다.

이 문서의 내용

  1. 소개
  2. 자료와 리소스 수집
  3. 애플리케이션 구성
  4. 애플리케이션 빌드
  5. 외부 서버와 리소스 준비
  6. 릴리스용 애플리케이션 테스트

참고 항목

  1. 개요 게시
  2. 애플리케이션 서명
  3. Google Play의 릴리스 검사 목록

사용자에게 Android 애플리케이션을 배포하기 전에 릴리스 준비를 해야 합니다. 모든 Android 애플리케이션의 개발 작업에 준비 과정이 필요합니다. 이 준비 프로세스는 게시 과정의 첫 단계입니다(그림 1 참조).

릴리스용 애플리케이션을 준비할 때는 애플리케이션의 릴리스 버전을 구성, 빌드 및 테스트해야 합니다. 구성 작업은 간단하고, 이 작업에는 애플리케이션을 최적화하는 데 도움이 되는 기본 코드 정리 및 코드 수정 작업이 수반됩니다. 빌드 프로세스는 디버그 빌드 프로세스와 유사하며, JDK와 Android SDK 도구를 사용하여 수행할 수 있습니다. 테스트 작업은 최종 점검 역할을 하고 애플리케이션이 실제 상황에서 예상과 같이 수행하는지 확인합니다. 릴리스용 애플리케이션 준비를 끝내면, 서명된 APK 파일이 생성됩니다. 이 파일은 사용자에게 직접 배포하거나 Google Play와 같은 애플리케이션 시장을 통해 배포할 수 있습니다.

이 문서에는 릴리스용 애플리케이션을 준비하는 데 필요한 주요 작업이 요약되어 있습니다. 이 문서에서 설명하는 작업은 릴리스 방식이나 사용자 배포 방식과 관계없이 모든 Android 애플리케이션에 적용됩니다. GooglePlay를 통해 애플리케이션을 릴리스하는 경우 Google Play의 게시 검사 목록을 검토하여 릴리스 준비된 애플리케이션이 모든 Google Play 요구사항을 충족하는지도 확인해야 합니다.

참고: 이 문서에서 간략히 설명하는 작업을 수행하기 전에 애플리케이션이 기능, 성능, 안정성 측면의 모든 릴리스 기준을 충족하도록 하는 것이 좋습니다.

준비 프로세스가 개발 프로세스에 얼마나 적합한지 보여줍니다.

그림 1. 개발 작업에는 릴리스 준비가 필요하고, 릴리스 준비는 게시 프로세스의 첫 단계입니다.

소개

사용자에게 애플리케이션을 릴리스하려면, 사용자가 Android 구동 기기에서 설치 및 실행할 수 있는 릴리스 준비된 패키지를 생성해야 합니다. 릴리스 준비된 패키지는 디버그 APK 파일과 같은 구성 요소(예: 컴파일된 소스 코드, 리소스, 매니페스트 파일 등)를 포함하고, 같은 빌드 도구를 사용하여 빌드됩니다. 그러나 디버그 APK 파일과 달리 릴리스 준비된 APK 파일은 개발자 고유의 인증서로 서명되고 zipalign 도구로 최적화됩니다.

릴리스용 앱을 준비하기 위해 수행하는 5가지 작업을 보여줍니다.

그림 2. 릴리스용 애플리케이션을 준비하기 위해 5가지 주요 작업을 수행합니다.

Android Studio로 애플리케이션을 빌드하는 경우 서명 및 최적화 작업이 일반적으로 원활하게 진행됩니다. 예를 들어 Android Studio에서 Gradle 빌드 파일을 사용하면 애플리케이션의 컴파일, 서명 및 최적화 작업을 한 번에 수행할 수 있습니다. 또한, 명령줄에서 빌드할 때도 Gradle 빌드 파일을 구성하여 똑같은 작업을 수행할 수 있습니다. Gradle 빌드 파일을 사용하는 방법에 관한 자세한 내용은 빌드 시스템 가이드를 참조하세요.

릴리스용 애플리케이션을 준비할 때는 일반적으로 5가지 주요 작업을 수행합니다(그림 2 참조). 각 주요 작업에는 애플리케이션 릴리스 방식에 따라 하나 이상의 세분화된 작업이 포함될 수 있습니다. 예를 들어 Google Play를 통해 애플리케이션을 릴리스할 경우, 릴리스용 애플리케이션을 구성하는 동안 매니페스트에 특별한 필터링 규칙을 추가할 수 있습니다. 마찬가지로 Google Play 게시 가이드라인을 준수하기 위해 릴리스용 자료를 수집하면서 스크린샷을 준비하고 홍보 문구를 작성해야 할 수 있습니다.

일반적으로 애플리케이션을 철저히 디버그 및 테스트한 후에 그림 2에 나열된 작업을 수행합니다. Android SDK에는 Android 애플리케이션을 테스트 및 디버그하는 데 도움이 되는 여러 도구가 포함되어 있습니다. 자세한 내용은 개발자 가이드의 디버그테스트 섹션을 참조하세요.

자료와 리소스 수집

릴리스를 위한 애플리케이션 준비 작업을 시작하려면 여러 가지 보조 항목을 수집해야 합니다. 최소한 애플리케이션 서명에 사용할 암호화 키와 애플리케이션 아이콘이 포함되어야 합니다. 또한, 최종 사용자 라이선스 계약도 포함해야 할 수 있습니다.

암호화 키

Android 시스템은 각각의 설치된 애플리케이션에 애플리케이션 개발자가 소유한 인증서(즉, 개발자가 개인 키를 유지하는 인증서)로 디지털 서명하도록 요구합니다. Android 시스템은 인증서를 애플리케이션의 작성자를 식별하고 애플리케이션 간의 신뢰 관계를 설정하는 수단으로 사용합니다. 서명에 사용하는 인증서는 인증 기관의 서명을 받을 필요가 없습니다. Android 시스템은 자체 서명된 인증서로 애플리케이션에 서명할 수 있도록 허용합니다. 인증서 요구사항에 관한 자세한 내용은 애플리케이션 서명을 참조하세요.

중요: 애플리케이션은 유효 기간이 2033년 10월 22일 이후에 종료되는 암호화 키로 서명해야 합니다.

또한, 애플리케이션이 서비스에 액세스하거나 개발자의 개인 키를 기반으로 하는 키를 사용해야 하는 타사 라이브러리를 사용할 경우 다른 릴리스 키를 획득해야 합니다.

애플리케이션 아이콘

애플리케이션 아이콘이 있는지와 이 아이콘이 권장 아이콘 가이드라인을 준수하는지 확인하세요. 애플리케이션의 아이콘은 사용자가 기기의 홈 화면과 런처 창에서 애플리케이션을 식별하는 데 도움이 됩니다. 이 아이콘은 Manage Applications, My Downloads 등에도 나타납니다. 또한, Google Play와 같은 게시 서비스도 사용자에게 아이콘을 표시합니다.

참고: Google Play에서 애플리케이션을 릴리스하려는 경우 아이콘의 고해상도 버전을 만들어야 합니다. 자세한 내용은 애플리케이션의 그래픽 자산을 참조하세요.

최종 사용자 라이선스 계약

애플리케이션에 대한 최종 사용자 라이선스 계약(EULA)을 준비하는 것을 고려하세요. EULA는 직원, 조직 및 지적 재산을 보호하는 데 도움이 될 수 있으므로 애플리케이션에서 EULA를 제공하는 것을 권장합니다.

기타 자료

또한, 애플리케이션 홍보를 위한 홍보 및 마케팅 자료를 준비해야 할 수도 있습니다. 예를 들어 Google Play에서 애플리케이션을 릴리스하는 경우 몇 가지 홍보 문구를 준비하고 애플리케이션 스크린샷을 만들어야 합니다. 자세한 내용은 애플리케이션의 그래픽 자산을 참조하세요.

릴리스를 위한 애플리케이션 구성

모든 보조 자료를 수집한 이후에는 릴리스를 위한 애플리케이션 구성을 시작할 수 있습니다. 이 섹션에서는 애플리케이션을 릴리스하기 전에 소스 코드, 리소스 파일 및 애플리케이션 매니페스트에 적용하기를 권장하는 구성 변경 사항을 요약하여 제공합니다. 이 섹션에 열거된 대부분의 구성 변경은 선택 사항이지만, 모범 코딩 사례이므로 구현하는 것이 좋습니다. 개발 프로세스에서 이러한 구성 변경을 이미 적용한 경우도 있을 수 있습니다.

좋은 패키지 이름 선택

애플리케이션 수명이 지속되는 동안 적합하게 사용할 수 있는 패키지 이름을 선택해야 합니다. 사용자에게 애플리케이션을 배포한 후에는 패키지 이름을 변경할 수 없습니다. 애플리케이션 매니페스트 파일에서 패키지 이름을 설정할 수 있습니다. 자세한 내용은 package 특성 관련 문서를 참조하세요.

로깅 및 디버깅 비활성화

릴리스용 애플리케이션을 빌드하기 전에 로깅과 디버깅 옵션을 비활성화해야 합니다. 소스 파일에서 Log 메서드 호출을 제거하여 로깅을 비활성화할 수 있습니다. 매니페스트 파일의 <application> 태그에서 android:debuggable 특성을 제거하거나 매니페스트 파일에서 android:debuggable 특성을 false로 설정하여 디버깅을 비활성화할 수 있습니다. 또한, 프로젝트에서 생성된 로그 파일이나 통계 테스트 파일을 모두 제거해야 합니다.

startMethodTracing()stopMethodTracing() 메서드 호출 등 코드에 추가한 모든 Debug 추적 호출도 제거해야 합니다.

중요: 유료 콘텐츠를 표시하는 WebView를 사용하거나 JavaScript 인터페이스를 사용하는 경우 앱에 대한 디버그를 비활성화해야 합니다. 디버그가 활성화되어 있으면 사용자가 Chrome DevTools를 사용하여 스크립트를 삽입하고 콘텐츠를 추출할 수 있기 때문입니다. 디버그를 비활성화하려면 WebView.setWebContentsDebuggingEnabled() 메서드를 사용합니다.

프로젝트 디렉토리 정리

프로젝트를 정리하고, Android 프로젝트에서 설명하는 디렉토리 구조를 준수하는지 확인하세요. 프로젝트에 동떨어지거나 분리된 파일이 있으면 애플리케이션을 컴파일할 수 없고 예상치 못한 애플리케이션 동작을 야기할 수 있습니다. 최소한 다음 정리 작업을 수행해야 합니다.

매니페스트와 Gradle 빌드 설정 검토 및 업데이트

다음 매니페스트와 빌드 파일 항목이 올바르게 설정되어 있는지 확인합니다.

Google Play에서 애플리케이션을 릴리스할 때 설정할 수 있는 추가 매니페스트나 빌드 파일 요소는 여러 가지가 있습니다. 예를 들어 android:minSdkVersionandroid:targetSdkVersion 특성이 이에 해당합니다. 이들은 <uses-sdk> 요소에 위치합니다. 이 설정과 기타 Google Play 설정에 관한 자세한 내용은 Google Play 필터를 참조하세요.

호환성 문제 해결

Android는 애플리케이션이 다양한 기기와 호환되도록 만드는 여러 가지 도구와 기술을 제공합니다. 최대한 많은 사용자가 애플리케이션을 사용할 수 있게 하려면 다음 작업을 수행하는 것을 고려하세요.

서버와 서비스에 대해 URL 업데이트

애플리케이션이 원격 서버나 서비스에 액세스하는 경우 테스트 URL이나 경로가 아니라 서버나 서비스의 프로덕션 URL 또는 경로를 사용하는지 확인해야 합니다.

라이선스 구현(Google Play에서 릴리스할 경우)

Google Play에서 유료 애플리케이션을 릴리스한다면 Google Play 라이선스 지원을 추가하는 것을 고려하세요. 라이선스를 활용하면 현재 사용자가 구매했는지에 따라 애플리케이션 액세스를 제어할 수 있습니다. Google Play에서 앱을 릴리스하더라도 Google Play 라이선스 사용은 선택 사항입니다.

Google Play 라이선스 서비스와 애플리케이션에서의 사용 방법에 관한 자세한 내용은 애플리케이션 라이선스를 참조하세요.

릴리스용 애플리케이션 빌드

애플리케이션 구성을 완료한 뒤에는 서명과 최적화가 완료된 릴리스 준비된 APK 파일로 이를 빌드할 수 있습니다. JDK에는 APK 파일 서명에 필요한 도구가 포함되어 있습니다(Keytool과 Jarsigner). Android SDK에는 APK 파일 컴파일과 최적화에 필요한 도구가 포함되어 있습니다. Android Studio를 사용하거나 명령줄에서 Gradle 빌드 시스템을 사용하고 있다면 빌드 프로세스 전체를 자동화할 수 있습니다. Gradle 빌드 구성에 관한 자세한 내용은 Gradle 빌드 구성을 참조하세요.

Android Studio로 빌드

Android Studio에 통합된 Gradle 빌드 시스템을 사용하여 개발자의 개인 키로 서명되고 최적화된 릴리스 준비된 APK 파일을 빌드할 수 있습니다. Android Studio에서 빌드를 설정 및 실행하는 방법에 관한 자세한 내용은 Android Studio에서 빌드 및 실행을 참조하세요.

빌드 프로세스에서는 개발자에게 애플리케이션 서명에 적합한 인증서와 개인 키가 있다고 가정합니다. 적합한 인증서와 개인 키가 없다면 Android Studio를 통해 이를 쉽게 생성할 수 있습니다. 서명 프로세스에 관한 자세한 내용은 애플리케이션 서명을 참조하세요.

외부 서버와 리소스 준비

애플리케이션이 원격 서버를 이용한다면 서버가 안전하고 프로덕션용으로 구성되어 있는지 확인하세요. 특히, 애플리케이션에서 인앱 결제를 구현하고 원격 서버에서 서명 인증 단계를 수행할 때 중요합니다.

또한, 애플리케이션이 원격 서버나 실시간 서비스(예: 콘텐츠 피드)에서 콘텐츠를 가져오는 경우 제공하는 콘텐츠가 최신이고 프로덕션 환경에 바로 사용할 수 있는지 확인하세요.

릴리스용 애플리케이션 테스트

애플리케이션의 릴리스 버전을 테스트하면 실제 기기와 네트워크 조건에서 애플리케이션이 제대로 실행되는지 확인하는 데 도움이 됩니다. 이상적으로는 적어도 하나의 핸드셋 크기 기기와 하나의 태블릿 크기 기기에서 애플리케이션을 테스트하여, 사용자 인터페이스 요소의 크기가 올바르고 애플케이션 성능과 배터리 효율이 허용 가능한지 확인해야 합니다.

테스트를 처음 시작할 때는 테스트 항목을 참조하세요. 이 문서에서는 테스트할 때 고려해야 할 일반적인 Android 상황에 대한 요약을 제공합니다. 테스트를 완료하고 애플리케이션의 릴리스 버전이 올바르게 동작하는 것을 확인하고 만족했다면 사용자에게 애플리케이션을 릴리스할 수 있습니다. 자세한 내용은 사용자에게 애플리케이션 릴리스를 참조하세요. Google Play에 애플리케이션을 게시하는 경우 Google Play의 릴리스 검사 목록을 참조하세요.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)