[문과 코린이의 IT 기록장] Android Kotlin - Android Studio 개발 환경 준비하기 (프로젝트 설정, Android Studio 화면 구성, SDK 매니저, 앱 출시 과정)
[문과 코린이의 IT 기록장] Android Kotlin - Android Studio 개발 환경 준비하기 (프로젝트 설정, Android Studio 화면 구성, SDK 매니저, 앱 출시 과정)
1. 프로젝트 설정
- Package name : 앱의 식별값. (패키지명)
- Save Location : 프로젝트의 파일들이 저장되는 루트 디렉터리
* C:\에는 쓰기 권한이 없을 수 있기 때문에, C:\ 하위에 디렉터리를 하나 만들고 그 곳으로 지정해야 함
- Language : 안드로이드 앱을 어떤 언어로 개발할지 나타냄. (Kotlin / Java)
* Kotlin으로 지정했어도, Java 파일을 언제든지 추가 가능. 즉, 지정한 언어로 프로젝트의 기본 소스 파일 및 설정이 추가되는 것이지, 꼭 그 언어로만 개발해야하는 것은 아님.
- Minimum SDK 최소 SDK 버전
- Use legacy android.support libraries 체크박스 : android.support 라이브러리를 사용할 것인지 선택하는 옵션
* 구글은 Android 앱 개발을 지원하고자, 다양한 라이브러리를 제공함. 이를 서포트 라이브러리라고 함.
* 현재 서포트 라이브러리는, 제트팩(JetPack)의 androidx 라이브러리로 통합됨. (11장)
* 새로 만드는 앱이라면, 굳이 support 라이브러리를 사용할 필요 X
2. Android Studio 화면 구성
1) 툴바 : 앱을 실행하거나, 안드로이드 도구를 시작하는 다양한 작업 아이콘이 있습니다.
2) 탐색 메뉴 : 프로젝트를 탐색하고, 수정할 파일을 열 수 있습니다.
3) 편집기 창 : 코드를 작성하고 수정할 수 있습니다.
4) 도구 창 모음 : 창 양 옆과 아래쪽에 개별 도구 창을 열거나 닫을 수 있는 버튼이 있습니다.
5) 프로젝트 창 : 프로젝트 파일을 관리할 수 있습니다.
6) 상태 표시줄 : 프로젝트와 안드로이드 스튜디오의 상태 및 경고 메시지 등을 보여 줍니다.
3. SDK 매니저
- Android SDK : Adnroid Software Development Kit (안드로이드 소프트웨어를 개발하기 위한, 툴 킷)
- 구성요소
1) Android API : 개발자들이 안드로이드 개발을 손쉽게 하도록 접근을 허용하는 Android API들
2) Android 응용 프로그램 개발에 필요한 각종 도구들 : 안드로이드 소스 코드를 실행 가능한 어플리케이션으로 만들기 위한, 컴파일러나 에뮬레이터 등
3) 샘플 코드들 : 안드로이드 API 사용법을 이해시키기 위한 예제 프로그램 코드들
4) 관련 문서들 : SDK를 사용하기 위한 각종 패키지나 클래스에 대한 설명 등
(1) SDK Platform
- SDK Platform 에서는 안드로이드 SDK 목록을 확인 가능하다.
- Android Studio를 설치할 때, 최신 버전의 SDK가 기본으로 설치된다.
* 일반적으로는 최신 버전의 SDK로 개발하지만, 더 낮은 버전에서 테스트할 수도 있다. (ex. 호환성 테스트)
(2) SDK Tools
- SDK Tools에서는 개발자 도구들이 표시된다.
이름 | 용도 | 설치 여부 |
Android SDK Build-Tools 32-rc 1 | 앱을 빌드하는데 필요한 도구 | 필수 설치 |
Android Emulator | 앱을 실행하는데 필요한 도구 | |
Android SDK Platform-Tools | 안드로이드 플랫폼과 연동되는, adb, fastboot, systrace와 같은 도구 모음 | |
Android Emulator Hypervisor Driver for AMD Processors (Installer) | AMD용 하이퍼바이저 드라이버 | AMD CPU라면 설치 |
Intel x86 Emulator Acceleator (HAXM installer) |
인텔 에뮬레이터 가속기 * CPU가 가상화 기술을 지원해야 하며, 이를 활성화(BIOS 설정) 해야함. |
인텔 CPU라면 설치 |
4. 앱 출시 과정
a. 프로젝트의 여러 파일을 하나로 묶어서 배포
b. 배포 파일을 여러 사람이 내려받을 수 있도록, 스토어에 등록
1) Android App 배포 파일
(1) APK(Android application PacKage)
: 안드로이드의 전통적인 배포파일.
: 컴파일된 코드와 리소스를 묶어 키로 서명한 것
(2) AAB(Android App Bundle)
: 구글 IO에서 2018년 발표한, 새로운 안드로이드 앱 배포 파일
: 플레이스토어에 올리면, 사용자 기기에 맞게 최적화된 APK를 대신 만들어줌.
: 즉, 사용자 기기에 내려받아 앱을 설치하는 파일은 똑같이 APK이지만, 개발자가 직접 APK 파일을 만들지 않고, 플레이스토어에서 만드는 것
: 따라서, 사용자는 기기에서 필요한 파일만 내려받게 됨.
* 앱을 실행할 때, 앱에 포함된 모든 파일이 사용되지 않는다.
ex. 앱을 개발할 때, 크기가 다른 여러 기기에서 실행할 수 있도록 이미지 리소스를 크기별로 준비하지만, 앱을 내려받은 기기에서는 그 크기에 맞는 1가지 이미지만 이용한다. (언어도 마찬가지)
# 현재 구글에서는 플레이스토어에 새로운 앱을 게시할 때, AAB를 사용해야 한다 발표
2) 배포 파일을 만들기 위한, 키 생성 및 앱 서명
(1) 서명 키를 개발자가 직접 만들어 관리하는 방법
- 개발자가 만든 서명키 1개로 앱을 관리함.
- 단점 : 개발자가 키를 분실하거나 도용될 때, 대처가 불가능하다. 즉, 업데이트시 이전 버전과 같은 키로 서명해야하기 때문에 업데이트 진행이 불가능하다. (새로운 키 생성시, 완전히 새로운 앱으로 등록)
(2) 서명 키를 구글 Play에서 관리하는 방법
- (1)의 단점을 극복하고자, Play 앱 서명이라는 서비스를 만듦.
- 구글 Play앱 서명 방식은, 키를 2개로 구분함.
a. 개발자가 만들고 관리하는 업로드키 (기존 서명키)
b. 구글 Play가 만드는 앱 서명키 * 구글 Play에 등록할 때만 사용하는 업로드 키 => 사용자에게 전달
- 이와 같이 키가 구분되어 있어서, 만약 개발자가 키를 분실하거나 도용되더라도, 앱을 계속 업데이트가 가능하다.
3) 플레이 스토어에 앱 배포 전 준비해야 할 파일
- AAB 파일 : 완성한 앱을 서명한 배포 파일
- 앱 아이콘 이미지 : Play 스토어에 표시할 앱 이미지. (512 x 512 px / 1MB 미만 / JPEG or 32bit PNG)
- 그래픽 이미지 : Play 스토어에서 앱을 프로모션할 때 이용할 이미지 (1024 x 500 px / 1MB 미만 / JPEG, 24bit PNG)
- 휴대전화 스크린샷 : 스마트폰에서 앱을 실행한 스크린샷 (320~3840 px / 비율 16:9, 9:16 / 1개 당 8MB 미만 이미지를 최대 8개 / JPEG나 24bit PNG)
- 7인치 10인치 태블릿 스크린샷 : 7인치나 10인치 태블릿에서 앱을 실행한 스크린샷.(320~3840px / 비율 16:9, 9:16 / 1장당 8MB 미만 이미지를 최대 8개 / JPEG or 24bit PNG)