build.gradle

Working notes on build.gradle: Android, packagingOptions, defaultConfig, signingConfigs, buildTypes, and release.

Android

Android { compileSdkVersion <>
Android { buildToolsVersion <>

packagingOptions

packagingOptions { [Exclude <path>]...
}.

defaultConfig

defaultConfig { applicationId <>
defaultConfig { minSdkVersion <>
defaultConfig { targetSdkVersion <>
defaultConfig { versionCode <>
defaultConfig { versionName <>
defaultConfig { multiDexEnabled <>
}.
ProductFlavors {.
<flavour> {
}...
applicationId <>
applicationId resValue “<type>”, “<var>”, “<value>”
resValue def final <var> = “<value>”
def manifestPlaceholders = [<var>: <value>]

signingConfigs

signingConfigs { <flavour> {
storeFile file("<path>”)
storeFile storePassword "<>”
storePassword keyAlias “<>”
keyAlias keyPassword “<>”
}.
}.

buildTypes

release

release { productFlavors.<flavor1>.signingConfig signingConfigs.<config1>
release { productFlavors.<flavor2>.signingConfig signingConfigs.<config2>

MinifyEnabled true.

proguardFiles getDefaultProguardFile('proguard-android.txt'),

'proguard-rules.pro'.

}.
}.
}.
Updated: 2026 Aug 19