3、主机开发环境搭建:安装Ubuntu 22.04 LTS、配置SSH与VNC远程访问、安装Git与Repo工具、配置代理与镜像源

好,咱们正式开始动手了。

这一章,说白了就是给你的开发电脑装上「灵魂」。车机应用开发,绕不开 Linux 环境。我个人习惯用 Ubuntu 22.04 LTS,稳定、社区活跃、踩坑资料多。你想想看,要是环境没搭好,后面写再多代码也是白搭。

3.1 安装 Ubuntu 22.04 LTS

先说说系统安装。我建议你用双系统或者直接物理机装,别用虚拟机。为什么?车机开发经常要调硬件接口、串口、USB 转发,虚拟机有时候会出一些莫名其妙的兼容问题。我在项目中遇到过好几次,虚拟机里好好的,一烧到真机上就崩,查了半天发现是虚拟化层搞的鬼。

安装步骤其实不复杂,但有几个坑你得注意:

  • 下载镜像:去 Ubuntu 官网下载 22.04 LTS 桌面版。别下服务器版,桌面版自带图形界面,后面配 VNC 也方便。
  • 制作启动盘:用 Rufus(Windows)或者 dd 命令(Linux/Mac)。记得用 GPT 分区方案,UEFI 启动。
  • 磁盘分区:我建议至少分 100GB 给 Ubuntu。其中 / 根目录 50GB,/home 40GB,swap 分区给 8GB 就够了。如果你要拉 AOSP 源码,那 /home 至少得 200GB。
  • 安装时断网:嗯,这里要注意。安装时先别连网,不然它会下载更新,慢得你想砸电脑。装完再配源,速度飞起。
小技巧:安装过程中创建用户时,用户名最好全小写、不要有空格。后面很多工具对路径里的空格敏感,别给自己找麻烦。

3.2 配置 SSH 与 VNC 远程访问

车机开发经常要远程操作。你不可能每次都跑到开发板跟前插键盘鼠标吧?SSH 和 VNC 就是你的「远程手」。

3.2.1 配置 SSH

SSH 配置其实就三步:

  1. 安装 OpenSSH Server
sudo apt update
sudo apt install openssh-server -y
  1. 检查服务状态
sudo systemctl status ssh

看到 active (running) 就对了。

  1. 配置防火墙(如果有)
sudo ufw allow ssh
sudo ufw enable

我曾经犯过一个低级错误:装完 SSH 忘了开防火墙端口,结果远程连不上,还以为是系统坏了。折腾了半小时才发现是 ufw 默认 deny 了所有入站。所以,记得检查防火墙规则。

避坑指南:如果你用的是云服务器或者公司内网,记得让运维把 22 端口放行。另外,生产环境建议改掉默认端口,用密钥登录,别用密码。我见过太多因为弱密码被爆破的案例了。

3.2.2 配置 VNC

SSH 只能操作命令行,但有时候你需要图形界面——比如调试车机上的 Qt 应用、看日志图形化工具。这时候 VNC 就派上用场了。

我推荐用 TigerVNC,轻量、稳定。

安装步骤:

sudo apt install tigervnc-standalone-server tigervnc-common -y

然后设置密码:

vncpasswd

启动 VNC 服务:

vncserver :1 -geometry 1920x1080 -depth 24

这里 :1 表示显示编号,你可以理解成第 1 个虚拟桌面。客户端连接时用 你的IP:1 就行。

个人经验:VNC 默认启动的是一个简易窗口管理器,界面很丑。你可以装个 xfce4 或者 gnome-session,然后在 ~/.vnc/xstartup 里配置启动桌面环境。这样远程过去就跟本地操作一样流畅。

3.3 安装 Git 与 Repo 工具

车机开发离不开版本管理。Git 是基础,Repo 是 Google 为 Android 多仓库管理量身定做的工具。

3.3.1 安装 Git

sudo apt install git -y

装完记得配一下基本信息:

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

为什么要配?因为车机项目通常有严格的代码审查,commit 信息里必须带作者。我见过有人没配,提交记录里全是 unknown,被组长骂得狗血淋头。

3.3.2 安装 Repo

Repo 其实是一个 Python 脚本,安装很简单:

mkdir -p ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

然后把 ~/bin 加到 PATH 里:

echo 'export PATH=$PATH:~/bin' >> ~/.bashrc
source ~/.bashrc

验证一下:

repo version

看到版本号就说明装好了。

注意:Repo 依赖 Python 3。Ubuntu 22.04 默认自带 Python 3.10,但如果你用的是旧系统,记得先装 Python 3。另外,Repo 会从 Google 的源下载,国内网络可能很慢,后面我们会讲怎么配镜像。

3.4 配置代理与镜像源

这一步太重要了。不夸张地说,配好了能省你 80% 的等待时间。

3.4.1 配置 APT 镜像源

Ubuntu 默认的源在国外,慢得让人抓狂。我建议换成国内镜像,比如清华、中科大、阿里云。

以清华源为例:

sudo sed -i 's@http://archive.ubuntu.com/ubuntu@https://mirrors.tuna.tsinghua.edu.cn/ubuntu@g' /etc/apt/sources.list
sudo apt update

换完之后,你会发现 apt install 速度从几十 KB/s 飙到几 MB/s。我第一次换源时,那种感觉就像从绿皮火车换成了高铁。

3.4.2 配置 Git 代理

如果你在公司内网,或者需要访问 GitHub,代理是必须的。

设置 HTTP/HTTPS 代理:

git config --global http.proxy http://你的代理地址:端口
git config --global https.proxy http://你的代理地址:端口

取消代理:

git config --global --unset http.proxy
git config --global --unset https.proxy

我曾经在配置代理时犯过一个错:把代理地址写成了 https://,结果 Git 一直报 SSL 错误。后来才发现,Git 的 http.proxy 应该用 http:// 开头,哪怕你访问的是 HTTPS 仓库。

3.4.3 配置 Repo 镜像

Repo 默认从 https://gerrit.googlesource.com/git-repo 拉取自身。国内访问不了。你可以用清华的镜像:

export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

把这个加到 ~/.bashrc 里,一劳永逸。

总结一下:环境搭建就像盖房子的地基。地基没打好,后面装修得再好也容易塌。我见过太多新手,一上来就急着写代码,结果环境配了三天还没跑通。别急,一步一步来,把这一步走稳了,后面就顺了。

好,这一章就到这儿。下一章我们开始装 Android SDK 和 NDK,那才是真正进入车机开发的核心。