1. 项目背景与问题现象
最近在Android Studio中新建项目时,不少开发者发现一个奇怪现象:当选择"Empty Activity"模板时,默认语言选项只有Kotlin,Java选项呈灰色不可选状态。这个问题在Android开发者社区引发热议,特别是对那些长期使用Java进行Android开发的老手来说,这种强制选择让人感到困惑。
我最初注意到这个问题是在2023年初的Android Studio Flamingo版本中。当时正准备给团队新人演示基础项目搭建,却在选择Activity模板时卡在了语言选择这一步。作为一名从Eclipse时代就开始做Android开发的老兵,我深知Java在Android生态中的历史地位,这种"被退休"的感觉确实让人不太适应。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术背景解析
2.1 Android开发语言演变史
要理解这个现象,我们需要回顾Android开发语言的演进过程:
-
2008-2011:纯Java时代
- 早期Android SDK完全基于Java语言
- 开发者只能使用Java编写Android应用
- 典型项目结构包含Activity、Service等Java类
-
2011-2017:Java主导时期
- 引入Kotlin实验性支持(2011年)
- 仍以Java为主要开发语言
- Android Studio取代Eclipse成为官方IDE
-
2017-2023:Kotlin崛起阶段
- Google宣布Kotlin成为Android官方开发语言(2017)
- 新API设计开始优先考虑Kotlin友好性
- Java 8特性通过desugar技术实现兼容
-
2023至今:Kotlin优先时代
- Compose等新框架默认使用Kotlin
- 部分模板开始隐藏Java选项
- 官方文档示例代码优先展示Kotlin版本
2.2 现代Android开发工具链变化
Android Studio近年来的更新方向也印证了这一趋势:
-
构建系统变化:
- Gradle Kotlin DSL成为默认构建脚本格式
- 新项目默认使用KTS而非Groovy
-
UI框架演进:
- Jetpack Compose完全基于Kot
