#### 引言

在人工智能时代,App开发正在发生变化。

上个月我有一些未用完的 Copilot Token,于是决定重做十年前的一个安卓应用。这不是个简单项目,当年开发周期按年计算。而这十年里,Android 从构建环境到编辑细节再到系统调用都发生了巨大变化,可直接复用的代码不足 20%,需要重新选型和重构的逻辑超过 50%。大约四天完成核心功能(细节还需一周左右打磨)。这次明显感觉到:安卓开发真的进入一个新时代。

也有小伙伴问,为什么不直接做小程序。相比微信小程序,原生应用操作更直接,也能更好利用系统资源,如通知栏、锁屏能力和 TTS 工具,比如在锁屏状态下录音,可减少大量操作步骤。

过去安卓开发门槛较高,尤其是环境配置。如今 AI 与开发环境深度结合,通过描述即可快速生成和配置功能。本文介绍如何在 Android Studio 中结合 AI 编程。


1 环境方案

Ubuntu + VS Code + Android Studio

Ubuntu 是我常用的开发环境。使用 VS Code 一方面是 Copilot 余额尚未用完;另一方面实际体验中,Android Studio 自带的 Gemini Default 在复杂问题上的表现不如 Claude 系模型。且 VS Code 界面更清爽。

因此:VS Code 作为编辑器(用插件支持 Android 开发),构建与调试依赖 Android Studio,底层基于 JDK 与 Gradle,由 Android Studio 控制,全程不使用 Docker。


2 安装

2.1 JDK

安装 OpenJDK 21。

1
2
3
4
sudo apt update  
sudo apt install openjdk-21-jdk
java --version

2.2 Android SDK

commandlinetools 是最小化方案,但更推荐安装 Android Studio,均可在 Android 官网下载。

2.2.1 安装 Android Studio
1
2
3
4
tar xvzf android-studio-xxx-linux.tar.gz  
cd android-studio
./bin/studio

按引导安装(约额外下载 2G 组件)。

2.2.2 配置环境变量
1
2
3
4
5
6
7
8
9
10
cat >> ~/.bashrc << 'EOF'  

export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/build-tools/36.1.0
EOF

source ~/.bashrc
adb version


3 创建应用

  • 在 Android Studio 新建 Project(默认即可)。
  • 点击 Build,首次会下载 Gradle 与依赖。
  • 点击 Run(需 /dev/kvm),右侧模拟器可看到 hello world。
3.1 连接手机
  • 打开手机的开发者模式
  • 确认数据线支持传输
1
2
3
adb devices  
adb -s FA6AB030XXXX install app.apk


4 在 VS Code 中开发

4.1 安装插件
  • Extension Pack for Java(Microsoft)
  • Android(Adelphes)或自行配置 launch.json
  • Kotlin Language(mathiasfrohlich)

代码在 VS Code 编写,Android Studio 负责运行调试。偶有同步不顺,清缓存即可。功能添加基本可通过自然语言完成,但仍约 5% 需人工干预:一是复杂问题模型可能经过多轮仍无法;二是手机真机调试不如本机模拟器顺畅,另外不同版本的手机Android系统可能出现各种问题。


5 关键词

5.1 Kotlin

更现代、安全、简洁的 Java。

5.2 Gradle

Android 的构建工具,负责将代码打包为 .apk


6 个人感受

安卓开发与前后端的显著区别是环境更复杂。过去按攻略逐步安装,失败再排错,过程高度黑盒。

现在模型与系统深度结合:可读取环境信息、调用工具、检索资料,很多步骤自动完成。同时我们可以针对原理和过程提问,因为模型能“看到”你的环境,黑盒感明显降低。

以前常卡在环境配置,精疲力尽。这次一两个小时完成,有种“沧海桑田”的感觉。

我理解 codex、copilot、claude code 的能力分两类:工程能力与模型能力。工程能力体现在流程记忆、整理优化和系统集成,如最近流行的 claude code, openclaw 带来的新体验;模型能力决定问题解决质量,通常价格越高效果越好,但也需考虑任务的复杂度,杀鸡不必用牛刀。

另外,代码规模一大,问题必然增多,人和模型都一样。因此应尽量模块化,高内聚低耦合,让模型处理单一问题,既节省 token,也更易收敛。