Android 개발공부 - 앱 출시 과정
Updated:
애플리케이션 출시 기본작업
애플리케이션을 출시하려면 먼저 애플리케이션의 출시 버전을 구성, 빌드, 테스트해야 한다.
구성 : 최적화하는 기본적인 코드 정리 및 코드 수정 작업
빌드 : 디버그 빌드 프로세스 (JDK 및 Android SDK 도구 사용)
테스트 : 실제 환경 조건에서 애플리케이션이 정상적으로 작동하는지 확인하는 최종 검사
⇒ 결과물 : 서명된 APK 파일 (해당 파일로 google play나 애플마켓을 통해 배포)
1. 자료 및 리소스 수집
애플리케이션 서명을 위한 암호화 키, 애플리케이션 아이콘, 최종 사용자 라이선스 계약
-
암호화 키
Android 시스템에서 각 애플리케이션은 개발자가 비공개 키를 보유한 인증서를 사용하여 디지털 방식으로 서명해야한다.
애플리케이션 작성자를 식별하고 애플리케이션과 신뢰관계를 구축하는 수단으로 사용된다.
애플리케이션 서명 -
애플리케이션 아이콘
사용자가 애플리케이션을 식별하는 이미지
아이콘 가이드라인을 준수하여 애플리케이션 아이콘을 만들어야한다.
아이콘 가이드라인 -
최종 사용자 라이선스 계약
최종 사용자 라이선스 계약(EULA) : 개발자의 인력, 조직 및 지적 재산을 보호 -
기타 자료
홍보&마케팅 자료.
ex) Google Play : 홍보 문구, 애플리케이션 스크린샷
2. 애플리케이션 구성
사용자의 Android 기기에서 설치&실행할 수 있는 출시용 패키지가 필요
⇒ 디버그 APK 파일과 동일한 구성요소, 즉 컴파일된 소스 코드, 리소스, 매니페스트 파일
⇒ 고유 인증서로 서명되어야 하며 zipalign 도구로 최적화되어야 한다
-
패키지 이름 선택
애플리케이션이 버전업되고 수명이 지속되는 동안 적합하게 사용될 수 있는 이름을 선택한다
애플리케이션을 사용자에게 한번 배포한 후에는 변경 불가
패키지 이름은 매니페스트 파일에서 설정 가능 -
로깅 및 디버깅 사용 중지
출시할 애플리케이션을 빌드하기 전에 로깅을 비활성화하고 디버깅 옵션을 사용 중지해야 한다
로깅 : 소스 파일에서 Log 메서드 호출을 삭제하여 비활성화
디버깅 : 매니페스트 파일의태그의 android:debuggable 속성을 삭제하거니 false 처리하여 중지 프로젝트 자체에서 만든 로그 파일이나 정적 테스트 파일들을 삭제 startMethodTracing() 및 stopMethodTracing() 메서드 호출과 같은 코드에 추가한 모든 Debug 추적 호출 삭제 ![image](https://user-images.githubusercontent.com/66898243/112756531-99e1d700-9020-11eb-898b-e053528341f1.png) -
프로젝트 디렉토리 정리
Android 프로젝트 디렉터리 구조를 준수.
이탈한 파일, 분리된 파일 정리.
jni/ : Android NDK와 연결된 소스 파일(예: .c, .cpp, .h 및 .mk 파일)만 포함
lib/ : 타사 라이브러리 파일이나 사전 빌드한 공유 및 정적 라이브러리가 포함된 비공개 라이브러리 파일(예: .so 파일)만 포함. 사용하지 않는 테스트 라이브러리는 삭제
src/ : 애플리케이션의 소스 파일(.java 및 .aidl 파일)만 포함. .jar 파일은 포함되어서는 안된다
사용하지 않는 비공개&독점적 데이터 파일 삭제 (res/ 디렉토리의 오래된 드로어블 파일, 레이아웃 파일 및 값 파일)
assets/, res/raw/ : 업데이트나 삭제가 필요한 원본 저작물 파일 및 정적 파일 여부 검토 -
매니페스트와 Gradle 빌드 설정 검토
uses-permissio 요소
android:icon 및 android:label 속성
android:versionCode 및 android:versionName 속성 -
호환성
여러 화면 지원 권장사항 준수 : 모든 화면 크기에 모양이 양호하도록
화면 호환성
애플리케이션 최적화 : 지원 버전에 맞는 앱 최적화
지원 라이브러리 사용 : 지원 버전에 맞는 api 사용
지원 라이브러리 -
URL 또는 경로 확인
테스트 URL이나 경로가 아니라 서버와 서비스 프로덕션 URL과 경로를 사용하는지 확인
3. 앱 빌드 및 서버 준비
- 앱 빌드 필요 요소
=> 서명이 완료되고 최적화 된 출시용 APK 파일
안드로이드 스튜디오에 통합된 Gradle 빌드 시스템을 사용하면 쉽게 서명에 적합한 인증서와 비공개 키를 생성하고 최적화된 출시용 APK 파일을 빌드 할 수 있다. - 원격 서버 이용
서버가 프로덕션 용도로 구성되어야하며 서버의 보안이 보장되어야 한다. 특히 앱 내에서 결제를 구현하여 원격서버에서 서명 인증 단계를 실행하는 경우 특히 중요하다.
4. 출시 테스트
실제 기기 및 네트워크 환경에서 제대로 실행되는지 확인하는 절차.
- 핸드셋 크기의 기기, 태블릿 크기의 기기 모두 테스트 할 것
- UI 요소 크기가 다양한 화면에 맞는지 확인 할 것
- 애플리케이션 성능과 배터리 효율이 허용 수준인지 확인 할 것
출시 테스트 요소
참고 목록
참고1 APK 확장API 파일
참고2 API 수준 요구사항
참고3 출시 준비
참고4 앱 게시
참고5 앱 테스트
Leave a comment