티스토리 뷰
안드로이드 스튜디오로 개발하는데 있어 기존 방식과 약간 다른 부분이 있어 해당 부분들을 정리해 보려고 한다.
앱 버전 및 SDK 버전 설정
예전에는 어플 버전을 설정하기 위해 manifest.xml 파일에 versionCode와 versionName을 지정하면 되었다.
또한 지원하는 안드로이드 버전을 설정하기 위해서는 use-sdk 태그에 minSdkVersion과 targetSdkVersion을 지정했다.
그러나 안드로이드 스튜디오에서 생성한 프로젝트는 아무리 manifest.xml을 수정해도 적용되지 않는다.
그 이유는 바로 Gradle Script가 우선 적용되기 때문이다.
위 그림에서 build.gradle이란 파일을 열어 보면 앱 버전이나 SDK 버전을 설정할 수 있는 스크립트가 있다.
바로 이 부분을 수정해야 적용이 된다.
잘 알고 있겠지만 잠깐 각각의 의미를 살펴보자.
minSdkVersion은 최소로 필요한 SDK 버전으로 하위 호환성에 대한 설정이다.
최소 버전으로 보통 아이스크림샌드위치 MR1(15)으로 설정하거나 허니콤(11) 으로 지정한다.
이 경우, 현재 안드로이드의 85% 이상을 커버한다고 한다.
targetSdkVersion은 앱을 개발할 때 목표로 할 SDK 버전을 나타낸다.
이 설정이 필요한 이유는 각 SDK 버전별로 시스템이 제공하는 앱 테마와 시스템의 동작 정책이 다르기 때문이다.
versionCode는 앱 버전의 상대적인 값을 나타내는 정수값이다.
보통 업그레이드 할 때 이 버전을 올림으로써 구글플레이에서 상위 버전임을 알게 한다.
versionName은 사용자에게 보여지는 앱의 버전을 나타낸다.
build.gradle 파일의 다른 부분은 추후 별도로 정리하기로 하자~
아이콘 생성하기
예전에는 프로젝트 생성하면서 아이콘을 설정할 수 있는 마법사 기능이 있었는데, 안드로이드 스튜디오는 기본으로 아이콘을 만들어버린다.
당연히 없어진 것은 아니다.
위 그림에서 "res"를 선택하고 마우스의 오른쪽 버튼을 클릭한다.
그리고 "New" > "Image Asset"을 선택한다.
상단에서 Asset Types을 Launcher Icons로 선택하고 아이콘을 변경하면 된다.
파일 이름을 ic_launcher.png로 동일하게 지정하면 "Next"에서 덮어쓸 것인지를 물어보게 된다.
그러나 기존 아이콘을 그대로 둘 필요가 없으므로 덮어쓰면 된다.
보통 192x192 정도 큰 아이콘을 만들어 업로드하면 각 DPI에 적합한 아이콘을 자동으로 생성해 준다.
참고로 DPI별 아이콘의 픽셀 크기는 다음과 같다.
- ldpi: 36x36
- mdpi: 48x48
- hdpi: 72x72
- xhdpi: 96x96
- xxhdpi: 144x144
릴리즈 빌드하기
구글 플레이에 등록하기 위해서 인증서를 생성하고, 릴리즈 빌드하고 APK를 만들어야 한다.
인증서 생성은 기존대로 keytool을 활용할 수 있지만 상단 "Build" > "Generate Signed APK..."를 사용하면 된다.
아래 화면에서 "Next" 눌러서 이동한 화면에서 새로운 인증서를 만들거나 기존 인증서로 릴리즈 빌드하고 APK를 생성할 수 있다.
신규로 만들 경우, Create New...를 클릭하고 다음과 같은 항목들을 입력한다.
향후 업데이트를 위해서 비밀번호는 잘 기억해 두기 바란다.
릴리즈 빌드가 완료되면 APK 파일은 프로젝트 폴더의 app 폴더 하위에 app-release.apk라는 이름으로 생성된다.
당연한 이야기지만 한번 만들어진 키스토어 파일과 암호는 잘 보관해야 한다.
만약 키스토어 파일을 잃어 버리거나 암호를 기억하지 못한다면 다시 그 앱을 업데이트 할 수 없기 때문이다.
'프로그래밍 > 안드로이드' 카테고리의 다른 글
안드로이드 웹뷰에서 뒤로가기 버튼 처리 - 웹페이지 리다이렉트 경우 (0) | 2015.06.17 |
---|---|
안드로이드 인트로 화면 만들기 (0) | 2015.06.08 |
이미지로 제공하는 안드로이드 실시간 검색어 앱 추천~ (0) | 2015.05.23 |
안드로이드 JSON 파싱하기 (0) | 2015.05.22 |
안드로이드 네트워크 연결하기 (Network On Main Thread Exception 처리) (1) | 2015.05.20 |