티스토리 뷰
AndroidStudio Build Setting
1. APK 이름 변경
Project를 Build하면 Build된 APK는 app/build/outputs/apk에 위치합니다.
다음은 [appname]-[buildtype]-[version].apk 파일 형식으로 나오는 방법입니다.
android {
...
defaultConfig {
...
project.ext.set("archivesBaseName", "CustomName");
}
applicationVariants.all {
variant ->
variant.outputs.each {
output ->
output.outputFile = new File(
output.outputFile.parent,
output.outputFile.name.replace(".apk", "-${variant.versionName}.apk"))
}
}
}
2. ProGuard 적용
ProGuard는 Java Code를 위한 최적화 및 난독화 Utility입니다.
이것을 적용하기 위해서는 app/build.gradle을 다음과 같이 수정합니다.
일반적으로 프로젝트 생성하면 자동으로 들어가 있습니다. (release 할 경우에만 프로가드 적용)
android {
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
Custom으로 프로가드에서 제외를 시키고 싶을 경우에는 app/proguard-rules.pro를 수정합니다.
해당 Class에 최적화 및 난독화가 실행되지 않도록 -keep Option을 사용한 설정을 추가해 주면 됩니다.
-keep public class MyClass
3. Build시 App Signing 적용
gradle.properties파일의 수정. (궂이 여기에 추가안하고, build.gradle파일에 바로 적용해도 됩니다.)
RELEASE_STORE_FILE=.android/.keystore
RELEASE_STORE_PASSWORD=password
RELEASE_KEY_ALIAS=Release
RELEASE_KEY_PASSWORD=password
RELEASE_STORE_FILE: Keystore File의 경로. build.gradle과의 연동을 위해서 사용자의 Home Directory로 부터의 상대 경로를 입력합니다.
RELEASE_STORE_PASSWORD: keytool 실행 시 입력한 Keystore의 Password
RELEASE_KEY_ALIAS: keytool 명령 실행 시 -alias Option으로 입력한 Private Key의 이름
RELEASE_KEY_PASSWORD: keytool 실행 시 입력한 Private Key의 Password
app/build.gradle파일 수정
android {
signingConfigs {
release {
storeFile new File(System.properties['user.home'], RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
'Mobile > Android' 카테고리의 다른 글
[Android] Account 정보 가져오기 (0) | 2016.07.27 |
---|---|
[Android] webview ssl 인증 오류 (1) | 2016.07.26 |
[Android] MultiDex 적용 (0) | 2016.07.26 |
[Android] RemoteControlClient의 폐기로 인한 Notification (0) | 2016.07.26 |
[Android] NotificationCompat + 5.0 (0) | 2016.07.26 |
- Total
- Today
- Yesterday
- golang
- MySQL
- github
- Linux
- SWIFT
- rxswift
- enum
- docker
- intellij
- Gradle
- cocoapods
- Spring
- nodejs
- go
- CentOS
- Codable
- war
- Xcode
- php
- centos8
- ios
- ubuntu
- tomcat
- windows10
- Kotlin
- Java
- android
- Python
- Windows
- git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |