Appearance
Android 插件简介
Android Gradle Plugin(AGP)是 Google 为 Android 开发专门定制的 Gradle 插件,是 Android Studio 的构建基础。
插件类型
| 插件 ID | 用途 |
|---|---|
com.android.application | Android 应用(APK) |
com.android.library | Android 库(AAR) |
com.android.test | Android 测试项目 |
com.android.dynamic-feature | 动态特性模块 |
基本配置(app/build.gradle.kts)
kotlin
plugins {
id("com.android.application")
kotlin("android")
}
android {
namespace = "com.example.myapp"
compileSdk = 34
defaultConfig {
applicationId = "com.example.myapp"
minSdk = 24
targetSdk = 34
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
debug {
isDebuggable = true
applicationIdSuffix = ".debug"
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
buildFeatures {
viewBinding = true
buildConfig = true
}
}
dependencies {
implementation("androidx.core:core-ktx:1.12.0")
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("com.google.android.material:material:1.11.0")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
}多渠道打包(Product Flavors)
kotlin
android {
flavorDimensions += "environment"
productFlavors {
create("dev") {
dimension = "environment"
applicationIdSuffix = ".dev"
versionNameSuffix = "-dev"
buildConfigField("String", "API_URL", "\"https://dev-api.example.com\"")
}
create("staging") {
dimension = "environment"
applicationIdSuffix = ".staging"
buildConfigField("String", "API_URL", "\"https://staging-api.example.com\"")
}
create("prod") {
dimension = "environment"
buildConfigField("String", "API_URL", "\"https://api.example.com\"")
}
}
}常用构建任务
bash
# 构建 Debug APK
./gradlew assembleDebug
# 构建 Release APK
./gradlew assembleRelease
# 构建所有变体
./gradlew assemble
# 安装到连接的设备
./gradlew installDebug
# 运行测试
./gradlew test
./gradlew connectedAndroidTest版本目录与 Android
toml
# gradle/libs.versions.toml
[versions]
agp = "8.2.1"
kotlin = "1.9.22"
core-ktx = "1.12.0"
[libraries]
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "core-ktx" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }下一步
- Android 项目构建 - 完整 Android 构建实战
- 多渠道打包 - 详细的多渠道配置