
在 android studio 新建项目时,“语言”指应用代码的开发语言(如 java 或 kotlin),“构建配置语言”则指 gradle 构建脚本所用的语言(如 groovy 或 kotlin dsl),二者职责分离、互不干扰。
在 android studio 新建项目时,“语言”指应用代码的开发语言(如 java 或 kotlin),“构建配置语言”则指 gradle 构建脚本所用的语言(如 groovy 或 kotlin dsl),二者职责分离、互不干扰。
当你选择“Empty Activity”等模板创建新项目时,Android Studio 会要求你指定两个关键选项:Language(应用开发语言)和 Build configuration language(构建配置语言)。虽然名称相似,但它们作用完全不同,且分别影响项目中完全不同的代码层。
✅ Language(应用开发语言)
这是你编写 App 业务逻辑、UI 组件(如 Activity、Fragment、ViewModel)所用的编程语言。例如:
- 选 Java → 所有源码文件(
.java)将基于 Java 语法; - 选 Kotlin → 主要源码为
.kt文件,享有空安全、扩展函数等特性。
// 示例:Java 语言编写的 MainActivity 片段
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
✅ Build configuration language(构建配置语言)
它决定的是项目构建脚本(即 build.gradle 或 build.gradle.kts)所采用的语言,用于配置依赖、插件、编译选项、签名信息等。目前 Android 官方支持两种:
-
Groovy(传统默认):使用
build.gradle文件,语法灵活但类型安全弱; -
Kotlin DSL(推荐新项目):使用
build.gradle.kts文件,具备完整 IDE 支持、类型推导与重构能力。
? 示例对比(配置相同依赖):
// build.gradle (Groovy)
dependencies {
implementation 'androidx.core:core-ktx:1.12.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
}
// build.gradle.kts (Kotlin DSL)
dependencies {
implementation("androidx.core:core-ktx:1.12.0")
implementation("androidx.appcompat:appcompat:1.6.1")
}
⚠️ 注意事项:
- 两者可自由组合:你可以用 Java 写应用代码 + Kotlin DSL 写构建脚本,或 Kotlin 写应用 + Groovy 写构建脚本——完全兼容;
- 初学者建议保持默认(Java + Groovy),待熟悉 Gradle 后再尝试 Kotlin DSL,以获得更优的构建脚本开发体验;
- 修改构建配置语言会影响整个项目的
build.gradle文件结构,切换后需手动迁移配置(Android Studio 通常提供自动转换提示); -
settings.gradle同样存在对应版本(settings.gradlevssettings.gradle.kts),需同步保持一致。
? 总结:
“Language”定义你写 App 的语言,面向运行时功能;
“Build configuration language”定义你配置构建流程的语言,面向编译与打包阶段。
二者分属不同抽象层级,理解这一区分,是掌握 Android 工程化开发的第一步。











