Publishing an application means testing it, packaging it appropriately, and making it available to users of Android-powered mobile devices.
애플리케이션을 배포한다는 것은 그것을 테스트하고 적절하게 패키징하고 안드로이드 모바일 디바이스 사용자들에게 사용가능하도록 만든다는 것을 의미한다.
If you plan to publish your application for installation on Android-powered devices, there are several things you need to do, to get your application ready. This document highlights the significant checkpoints for preparing your application for a successful release.
만약 여러분이 안드로이드 디바이스에 설치가 가능하도록 여러분의 애플리케이션을 배포하려고 한다면, 여러분의 애플리케이션이 준비되도록 하기 위해 해야 할 몇가지 일들이 있다. 이 문서는 성공적인 릴리즈를 위해 여러분의 애플리케이션을 준비하는 것에 대한 중요한 체크포인트를 강조한다.
If you will publish your application on Android Market, please also see Publishing on Android Market for specific preparation requirements for your application.
만약 여러분이 안드로이드 마켓에 애플리케이션을 배포하고자 한다면, 또한 여러분의 애플리케이션을 위한 구체적 준비 요구사항에 대해서 18장. “애플리케이션 배포하기”에서 “안드로이드 마켓에 배포하기”를 보라.
For general information about the ways that you can publish an applications, see the Publishing Your Applications document.
애플리케이션을 배포하는 방법에 대한 일반적인 정보는 18장. “애플리케이션 배포하기”를 보라.
Before you consider your application ready for release:
여러분이 애플리케이션 릴리즈 준비를 고려하기 전에
Before you do the final compile of your application:
로깅과 디버깅을 끄고, 데이터/파일들을 정리하라.
Compile your application...
여러분의 애플리케이션 컴파일하기...
After compiling your application:
여러분의 애플리케이션을 컴파일한 후에
It's important to test your application as extensively as possible, in as
many areas as possible. To help you do that, Android provides a variety of
testing classes and tools. You can use
Instrumentation to run JUnit and other
test cases, and you can use testing
tools such as the UI/Application
Exerciser Monkey.
여러분의 애플리케이션을 가능한 많은 영역에서 가능한 광범위하게 테스트하는 것은 중요하다. 그렇게 하는 것을 돕기 위해 안드로이드는 다양한 테스트 클래스들과 도구들을 제공한다. 여러분은 JUnit와 다른 테스트 클래스를 실행하기 위해 인스트루멘테이션Instrumentation을 사용할 수 있다. 그리고 여러분은 UI/Application Exerciser 몽키Monkey와 같은 테스트 도구를 사용할 수 있다.
-dpi,
-device, -scale, -netspeed,
-netdelay, -cpu-delay and others to model the
emulator's screen, network performance, and other attributes to match the target
device to the greatest extent possible. You can then test your application's UI
and performance. However, we strongly recommend that you test your application
on an actual target device before publishing it. To protect your person, organization, and intellectual property, you may want to provide an End User License Agreement (EULA) with your application.
여러분의 개인, 조직, 그리고 지적 소유권을 보호하기 위해, 여러분은 애플리케이션에 최종 사용자 라이센스 동의(EULA, End User License Agreement)를 제공하길 원할 수도 있다.
The icon and label that you specify in an application's manifest are important because they are displayed to users as your application's icon and name. They are displayed on the device's Home screen, as well as in Manage Applications, My Downloads, and elsewhere. Additionally, publishing services may display the icon and label to users.
애플리케이션의 매니페스트에 여러분이 지정한 아이콘과 라벨은, 그것들이 사용자에게 여러분의 애플리케이션 아이콘과 이름으로 표시된다는 점에서 중요하다. 아이콘과 라벨은 Manage Applicstions, My Downloads와 그 밖에 다른 곳 뿐만아니라, 디바이스의 홈 스크린에 보여진다. 추가적으로, 배포 서비스도 사용자에게 그 아이콘과 라벨을 보여줄 수도 있다.
To specify an icon and label, you define the attributes
android:icon and android:label in the
<application> element of the manifest.
아이콘과 라벨을 지정하기 위해, 여러분은 매니페스트의 <application> 엘리먼트에 있는 android:icon과 android:label 애트리뷰트 값을 정의한다.
As regards the design of your icon, you should try to make it match as much as possible the style used by the built-in Android applications.
여러분의 아이콘 디자인을 고려할 때, 여러분은 그것이 내장되어 있는built-in 안드로이드 애플리케이션에 의해 사용된 스타일과 가능한 많이 일치되도록 만들도록 노력하라.
For release, you should make sure that debug facilities are turned off and that debug and other unnecessary data/files are removed from your application project.
릴리즈를 위해, 여러분은 디버그 설비들이 꺼졌는지와 그 디버그와 다른 불필요한 데이터/파일들이 여러분의 애플리케이션 프로젝트에서 제거되었는지를 확인해야 한다.
android:debuggable="true" attribute from the
<application> element of the manifest.Log methods in the source
code.Before you compile your application, you must make sure that you have defined
a version number for your application, specifying an appropriate value for both
the android:versionCode and android:versionName
attributes of the <manifest> element in the application's
manifest file. Carefully consider your version numbering plans in the context of
your overall application upgrade strategy.
여러분은 애플리케이션을 컴파일하기 전에, 애플리케이션의 매니페스트 파일에 있는 <manifest> 엘리먼트의 android:versionCode와 android: versionName 애트리뷰트에 적절한 값을 지정하면서 여러분의 애플리케이션에 버전 숫자를 정의했는지 확인해야 한다. 여러분의 전체 애플리케이션 업그레이드 전략에서 버전 넘버링 계획을 주의깊게 고려하라.
If you have previously released a version of your application, you must make
sure to increment the version number of the current application. You must
increment both the android:versionCode and
android:versionName attributes of the <manifest>
element in the application's manifest file, using appropriate values.
만약 여러분의 애플리케이션을 이전에 배포했었다면, 여러분은 현재 애플리케이션의 버전 숫자를 증가시키는 것을 확인해야 한다. 여러분은 적절한 값을 사용해서 애플리케이션의 매니페스트 파일에 있는 <manifest> 엘리먼트의 android: versionCode와 android:versionName 애트리뷰트 모두를 증가시켜야 한다.
For detailed information about how to define version information for your application, see Versioning Your Applications.
여러분의 애플리케이션의 버전 정보를 정의하는 방법에 대한 더 자세한 정보에 대해서 16장. “애플리케이션 버전 부여”를 보라.
If you have read and followed all of the preparation steps up to this point, your application is compiled and ready for signing. Inside the .apk, the application is properly versioned, and you've cleaned out extra files and private data, as described above.
만약 여러분이 지금까지 모든 준비 단계를 모두 읽고 따라 왔다면, 여러분의 애플리케이션은 컴파일 되었으며 사인을 하기 위한 준비가 되었다. 그 .apk 파일 내부에, 애플리케이션은 적절하게 버전화되어 있으며, 그리고 여러분은 위에 설명된 대로 추가 파일들과 사적인 데이터를 모두 말끔히 정리하였다.
Before you sign your application, you need to make sure that you have a suitable private key. For complete information about how to obtain (or generate) a private key, see Obtaining a Suitable Private Key.
여러분의 애플리케이션에 사인하기 이전에, 여러분은 알맞은 개인 키private key를 가지고 있는지를 확인해야 한다. 개인 키private key를 얻는(또는 생성하는) 방법에 대한 전체 정보를 위해서는 15장. 애플리케이션 사인하기의 공식 릴리즈를 위해 사인하기 중 적합한 개인 키 얻기를 보라.
Once you have obtained (or generated) a suitable private key, you will use it to:
일단 적합한 개인 키private key를 얻었다면(또는 생성했다면), 여러분은 그것을 다음과 같은 것을 하기 위해 사용할 것이다.
For complete information about getting a Maps API Key, see Obtaining a Maps API Key.
맵 API Key를 얻는 것에 대한 전체 정보에 대해서는Obtaining a Maps API Key를 보라.
If your application uses one or more Mapview elements, you will need to register your application with the Google Maps service and obtain a Maps API Key, before your MapView(s) will be able to retrieve data from Google Maps. To do so, you supply an MD5 fingerprint of your signer certificate to the Maps service.
만약 여러분의 애플리케이션이 하나 또는 그 이상의 맵뷰Mapview 엘리먼트를 사용하고 있다면, 여러분의 맵뷰MapView(s)가 구글 맵에서 데이터를 가져오기 전에 여러분의 애플리케이션을 구글 맵 서비스에 등록하고 맵 API 키Key를 얻을 필요가 있을 것이다. 그러기 위해서는 맵 서비스에 여러분의 사인 인증서의 MD5 fingerprint를 제공해야 한다.
During development, you can get a temporary Maps API Key by registering the debug key generated by the SDK tools. However, before publishing your application, you must register for a new Maps API Key that is based on your private key.
개발하는 도중에, 여러분은 SDK 툴에 의해 생성된 디버그 키debug key를 등록함으로써, 임시 맵 API 키Key를 얻을 수 있다. 그러나 여러분의 애플리케이션을 배포하기 전에 여러분의 개인 키private key에 기반한 새로운 맵 API 키Key를 등록해야 한다.
If your application uses MapView elements, the important points to understand are:
만약 여러분의 애플리케이션이 맵뷰MapView 엘리먼트를 사용한다면, 이해해야 할 중요한 요점들은 다음과 같다.
android:apiKey in your
application's layout files. If you are instantiating MapView objects directly
from code, you must pass the Maps API Key as a parameter in the constructor.
When you've prepared your application as described in the previous sections, you can compile your application for release.
이전 섹션에 설명된 대로 애플리케이션을 준비했다면, 여러분은 배포를 위해 애플리케이션을 컴파일 할 수 있다.
Sign your application using your private key and then
align it with the zipalign tool. Signing your application
correctly is critically important. Please see
Signing Your
Applications for complete information.
여러분의 개인 키private key를 사용해서 여러분의 애플리케이션을 사인하고 그것을 zipalign 도구를 이용하여 얼라인하라. 여러분의 애플리케이션에 정확하게 사인하는 것은 매우 중요하다. 전체 정보를 보려면 15장. “애플리케이션 사인하기”를 보라.
Before you release your compiled application, you should thoroughly test it on the target mobile device (and target network, if possible). In particular, you should make sure that any MapView elements in your UI are receiving maps data properly. If they are not, go back to Register for a Maps API Key and correct the problem. You should also ensure that the application works correctly with any server-side services and data that you are providing or are relying on and that the application handles any authentication requirements correctly.
여러분의 컴파일된 애플리케이션을 배포하기 전에, 여러분을 그것을 타겟 모바일 디바이스 상에서 (그리고 가능하다면 타겟 네트워크상에서) 광범위하게 테스트해야 한다. 특히, 여러분의 UI에 있는 임의의 맵뷰MapView 엘리먼트들이 적절하게 맵 데이터를 받는 지를 확인해야 한다. 만약 그렇지 않다면, Register for a Maps API Key로 돌아가서 문제점을 수정하라. 여러분은 또한 그 애플리케이션이 여러분이 제공하고 신뢰하는 임의의 서버쪽 서비스와 데이터를 가지고 정확하게 동작하는 지와 그 애플리케이션이 임의의 인증 요구사항을 정확하게 처리하는 지를 확인해야 한다.
After testing, you are now ready to publish your application to mobile device users.
테스트를 한 후, 여러분은 이제 여러분의 애플리케이션을 모바일 디바이스 사용자들에게 배포할 준비가 되어 있다.