https://medium.com/@cesarmcferreira/gradle-tips-tricks-to-survive-the-zombie-apocalypse-3dd996604341
Project and build specific global variables
-
gradle 을 사용하면 BuildConfig class 가 자동으로 생성된다.
그리고 우리는 그 안에 추가적인 field 를 넣을 수 있다.
defaultConfig {
buildConfigField "String", "TWITTER_TOKEN", '"SDASJHDKAJSK"'
}
buildTypes {
debug {
buildConfigField "String", "API_URL", '"http://api.dev.com/"'
buildConfigField "boolean", "REPORT_CRASHES", "true"
}
release {
buildConfigField "String", "API_URL", '"http://api.prod.com/"'
buildConfigField "boolean", "REPORT_CRASHES", "false"
}
}
Different name, version name, and app id per buildtype
-
android {
buildTypes {
debug {
applicationIdSuffix ".debug"
versionNameSuffix "-debug"
resValue "string", "app_name", "CoolApp (debug)"
signingConfig signingConfigs.debug
}
release {
resValue "string", "app_name", "CoolApp"
signingConfig signingConfigs.release
}
}
...
}
Private Information
-
아래와 같이 signing information 을 줄 수 있다.
signingConfigs {
release {
storeFile "${System.env.COOL_APP_PRIVATE_KEY}"
keyAlias "${System.env.COOL_APP_ALIAS}"
storePassword "${System.env.COOL_APP_STORE_PW}"
keyPassword "${System.env.COOL_APP_PW}"
}
}
Auto generated versionName and versionCode
-
def versionMajor = 1
def versionMinor = 0
def versionPatch = 0
android {
defaultConfig {
versionCode versionMajor * 10000 + versionMinor * 100 + versionPatch
versionName "${versionMajor}.${versionMinor}.${versionPatch}"
}
}
Add git hash and build time to your BuildConfig
-
def gitSha = 'git rev-parse --short HEAD'.execute([], project.rootDir).text.trim()
def buildTime = new Date().format("yyyy-MM-dd'T'HH:mm:ss'Z'", TimeZone.getTimeZone("UTC"))
android {
defaultConfig {
buildConfigField "String", "GIT_SHA", "\"${gitSha}\""
buildConfigField "String", "BUILD_TIME", "\"${buildTime}\""
}
}
Fastening your seatbelts
-
아래와 같이 dev 라는 flavor 를 둬서 minSdkVersion 을 높게 가져갈 수 있다.
minSdk 를 올려줌으로써 Android gradle plugin 이 모든 module 을 pre-dex 화시킬 수 있어, 빠른 빌드가 가능하다.
android {
productFlavors {
dev {
minSdkVersion 21
}
prod {
// The actual minSdkVersion for the application.
minSdkVersion 14
}
}
}
-
끝!!
이 이외에도 많은 설정이 있을테니 잘 활용하면 되겠다.
Gradle 에 쫄지말고 잘 활용하자!
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android] Custom Text Selection Actions (0) | 2020.08.03 |
---|---|
[android] Android SDK-tools, SDK Build-tools, Platform-tools (0) | 2020.08.02 |
[android] custom lint 만들기 (0) | 2020.07.31 |
[android] Direct Share since MOS (0) | 2020.07.30 |
[android] RecyclerView 에서 Drag 와 Swipe 구현하기 (1) | 2020.07.29 |
댓글