凌晨三点的Android Studio入门笔记
为什么2026年还在写Android Studio入门
AI写代码再猛,IDE基本功仍得扎实。我试过用Lovable生成登录页面,代码能跑但结构混乱;AI生成的Kotlin偶尔引用不存在的API。面试让你现场建工程跑模拟器,总不能说“稍等,我让Claude帮我写”。
环境搭建:别在JDK版本上翻车
JDK与AGP版本不匹配会报Unsupported class file major version。Android Studio自带JBR,手动指定系统JDK时须确保兼容。我目前组合:
Android Studio Narwhal (2026.1.1)
JDK 17 (AS自带)
AGP 8.7.2
Gradle 8.9
Kotlin 2.0.21
创建项目:模板选错后面全是泪
新手就选Empty Activity,别碰Bottom Navigation等复杂模板,否则一进来全是Fragment、ViewModel,直接懵。Package Name一旦定了改起来很麻烦,我见过改包名改出三个线上Bug。Minimum SDK游戏类选API 24即可。
项目结构:一眼看懂哪里放什么
| 路径 | 作用 |
|---|---|
app/src/main/java |
Kotlin/Java源码 |
app/src/main/res |
资源文件 |
app/src/main/AndroidManifest.xml |
应用声明 |
app/build.gradle.kts |
模块级构建配置 |
build.gradle.kts |
项目级构建配置 |
新手最易把所有逻辑塞进Activity,一个MainActivity写2000行,甚至在里面写网络请求导致ANR。
Kotlin入门:Java老兵的舒适区
空安全语法糖很舒服:
val name = user?.name ?: "匿名玩家"
data class一行替代几十行getter/setter:
data class Player(
val id: String,
val nickname: String,
val level: Int = 1
)
坑:lateinit未初始化访问抛UninitializedPropertyAccessException;协程的launch/async区别值得单独写文章。新手先搞懂基础语法和View绑定。
布局文件:XML还是Compose
新项目上Compose,但老项目维护需会XML。XML嵌套过深导致卡顿,我曾见8层LinearLayout掉帧到30以下,改ConstraintLayout砍到3层后流畅度明显提升。
Compose声明式UI:
@Composable
fun PlayerCard(player: Player) {
Column(modifier = Modifier.padding(16.dp)) {
Text(text = player.nickname, style = MaterialTheme.typography.titleMedium)
Text(text = "Lv.${player.level}", color = Color.Gray)
}
}
注意Compose预览偶尔不刷新,混用时findViewById找不到Compose组件。
模拟器:别用真机调试找罪受
AVD选中等配置,别选高分辨率设备带不动。我习惯Pixel 6模拟器,1080x2400,内存2G。做游戏开发再配一个低端机模拟器测试性能。真机调试USB易断连,授权弹窗烦,日常开发效率低。
Gradle:构建慢到怀疑人生的真相
首次sync卡在下载Gradle包,换镜像源。gradle-wrapper.properties:
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.9-all.zip
settings.gradle.kts加仓库:
pluginManagement {
repositories {
maven("https://maven.aliyun.com/repository/google")
maven("https://maven.aliyun.com/repository/central")
gradlePluginPortal()
}
}
配合缓存和增量编译,全量8分钟可缩到增量30秒。
调试技巧:Logcat用好了能救命
自定义TAG过滤日志:
private const val TAG = "PlayerLogin"
Log.d(TAG, "登录请求发送: $requestJson")
Log.e(TAG, "登录失败: ${e.message}", e)
Log Level调到Debug以上配合关键词过滤,别对着满屏chatty和Choreographer发呆。
版本控制:Git集成比你想的好用
IDE内置Git够用。local.properties不要提交,.gitignore加:
*.iml
.gradle/
/local.properties
.idea/
build/
团队协作提交前先pull,冲突自己解决。加CI流水线,不通过构建不允许合并。
发布准备:签名和混淆
Release签名需创建keystore,文件比代码重要,丢了无法更新应用市场。我司曾因keystore随离职同事丢失,只能重新上架,老用户全部卸载重装。
混淆配置Kotlin data class字段名易被混淆掉,Gson解析字段对不上返回null。在proguard-rules.pro加keep规则或用@Keep注解。
写在最后
Android要学的东西很多:Kotlin、Compose、协程、Gradle、性能优化、适配兼容。AI工具是放大器,基础功不扎实,放大出来的东西也是歪的。先把IDE用熟、语法吃透、调试练好,写几个能跑的小Demo,再去玩Compose、Flow、Hilt这些高级货。继续改Bug去了。

评论 0