尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

安卓framework学习2:Ubuntu安装trae——软件包与目录系统全解析

发布时间:2026/9/26 3:44:39

资讯中心
01
ARTICLE

安卓framework学习2:Ubuntu安装trae——软件包与目录系统全解析

安卓framework学习2:Ubuntu安装trae——软件包与目录系统全解析
1. 安卓 framework 学习环境搭建Ubuntu 安装 trae 到底在装什么如果你正在学安卓 framework大概率会遇到一个绕不开的环节在 Ubuntu 上装 trae然后拿它去读 AOSP 源码、跳转调用链、追 SystemServer 启动流程。但很多人卡住的地方不是 trae 本身而是 Ubuntu 的软件包机制和目录系统没搞明白——.deb和.rpm有什么区别、/usr和/opt到底谁放程序、为什么apt install ./xxx.deb有时候报依赖错。这篇就按我自己的实操路径把 Ubuntu 安装 trae 的完整流程拆开从软件包依赖、目录树结构到可复制的 apt 命令、trae 目录清单、验证安装成功的检查动作最后再补一段 framework 编译环境验证。目标很明确让你在 Ubuntu 上把 trae 装好并且知道它每个文件落在哪后面读 framework 源码时心里有底。先说 trae 是什么、能做什么、适合谁。trae 是一个面向开发者的代码编辑与阅读工具在安卓 framework 学习场景里它主要用来打开 AOSP 这种超大工程、做符号跳转、看 Java/C 跨层调用。适合谁适合已经装好 Ubuntu 虚拟机或双系统、准备啃frameworks/base的 framework 初学者。不适合谁如果你只是想写个 Hello World用系统自带编辑器就够了没必要折腾 trae。我试过在 Ubuntu 22.04 上从零装一遍中间踩过 Python 命令缺失、libncurses5 找不到、JDK 版本冲突这几个坑下面会逐个给解法。整篇的操作你都可以直接复制命令我都标了语言和参数含义。2. 前置准备Ubuntu 软件包体系与 trae 安装包选择在装 trae 之前得先搞清楚 Ubuntu 的软件包格式。Linux 里常见的两种包.deb全称 Debian 软件包用于 Debian、Ubuntu 及其衍生版用dpkg或apt安装。.rpm全称 Red Hat 软件包用于 Red Hat、CentOS、Fedora、openSUSE 等发行版用rpm或dnf安装。你在 Ubuntu 上装 trae要下的是.deb包比如Trae_CN-linux-x64.deb。这里有个关键点apt install ./xxx.deb和dpkg -i xxx.deb的区别。dpkg只装包、不解决依赖缺依赖就报错apt install ./xxx.deb会自动去仓库拉依赖。所以推荐用apt省得手动补库。Ubuntu 的目录系统也得先建立概念不然 trae 装完你都不知道文件去哪了。Linux 目录树大致是这样/ ├── home/ # 用户家目录 │ ├── test/ # 用户 test 的家 │ └── zhangsan/ # 用户 zhangsan 的家 ├── etc/ # 系统配置 ├── usr/ # 用户程序 ├── var/ # 变化的数据 ├── tmp/ # 临时文件 ├── mnt/ # 挂载目录 └── root/ # root 用户的家和 Windows 对比一下更直观概念WindowsLinux根目录C:\、D:\/用户文件C:\Users\用户名\/home/用户名/系统配置注册表 C:\Windows/etc程序文件C:\Program Files/usr/bin、/opt临时文件C:\Windows\Temp/tmp驱动器C:、D:、E:挂载到 / 下的目录常用命令先过一遍后面每一步都会用到pwd # 显示当前目录 ls / # 查看根目录 cd ~ # 进入家目录 ls -a # 显示隐藏文件提示Ubuntu 里没有 C 盘 D 盘的概念所有存储设备都挂载到/下的某个目录比如 U 盘常挂在/media/用户名/下。理解这一点后面配共享文件夹就不会晕。3. 可复制配置Ubuntu 安装 trae 的完整命令流程3.1 更新源并安装基础依赖先更新软件源把系统升到最新避免依赖版本太旧sudo apt update sudo apt upgrade -y然后装 trae 运行可能需要的库。这里提前把常见的坑补上sudo apt install -y libncurses5 openjdk-11-jdklibncurses5是很多终端类工具依赖的库缺了会报error while loading shared libraries。openjdk-11-jdk是后面编译 framework 要用的先装上。3.2 下载并安装 trae 的 .deb 包假设你已经把Trae_CN-linux-x64.deb下到了~/下载目录中文系统默认下载目录就是「下载」cd ~/下载 sudo apt install ./Trae_CN-linux-x64.deb注意./不能省它告诉 apt 这是本地文件而不是仓库包名。装完后启动trae-cn如果命令找不到说明可执行文件没进 PATH可以用绝对路径启动或者检查/usr/bin下有没有软链。3.3 解决 Python 命令缺失Ubuntu 22.04 默认只有python3没有python。有些构建脚本会直接调python会报python: command not found。建个软链sudo ln -s /usr/bin/python3 /usr/bin/python验证python --version应该输出Python 3.x.x。3.4 挂载共享文件夹并设置开机自启如果你在 VMware 里跑 Ubuntu想把 Windows 下的 AOSP 源码或 trae 安装包共享进来需要装 VMware Tools 的开源版本sudo apt install -y open-vm-tools open-vm-tools-desktop vmware-hgfsclient # 检查共享文件夹名 sudo mkdir -p /mnt/hgfs sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid1000 -o gid1000uid1000和gid1000是让挂载目录归属当前用户不然你只能读不能写。验证ls /mnt/hgfs能看到共享的文件夹名就成功了。要开机自动挂载编辑/etc/fstab加一行.host:/ /mnt/hgfs fuse.vmhgfs-fuse defaults,allow_other,uid1000,gid1000 0 0然后sudo mount -a ls /mnt/hgfsmount -a会重新读 fstab没报错就说明配置对了。3.5 从 Ubuntu 18.04 升级到 22.04可选如果你手上的虚拟机还是 18.04trae 的新版本可能装不上建议升级。先拍快照备份然后sudo apt update sudo apt upgrade -y sudo apt dist-upgrade -y sudo do-release-upgrade这一步会升到 20.04再执行一次sudo do-release-upgrade升到 22.04。验证lsb_release -a看到Ubuntu 22.04就对了。4. 验证请求与成功结果trae 目录树与 framework 编译环境检查4.1 trae 安装后的目录清单装完 trae 后它的文件主要落在这几个位置你可以用dpkg -L查完整清单dpkg -L trae-cn | head -50典型目录分布路径内容/usr/bin/trae-cn启动脚本软链/usr/share/trae-cn/主程序与资源文件/usr/share/applications/桌面快捷方式 .desktop/usr/share/icons/图标资源~/.config/trae-cn/用户配置与插件~/.cache/trae-cn/缓存数据~/.config/trae-cn/是你后面调主题、装插件的地方出问题想重置配置删这个目录就行。4.2 验证 trae 能正常启动trae-cn --version能输出版本号说明可执行文件正常。再直接启动图形界面trae-cn窗口能打开、能新建文件、能打开一个 Java 文件做跳转就算装好了。4.3 验证 framework 编译环境trae 装好只是第一步framework 学习最终要能编译 AOSP。进入源码目录cd ~/aosp/RK3566_Android_Source_Code/RK356X_Android11 source build/envsetup.sh lunch 51 # 选择 rk3566_r-userdebug make sepolicy -j4source build/envsetup.sh是加载编译环境变量lunch 51选目标产品make sepolicy -j4用 4 线程编译 sepolicy 模块。编译成功不报错说明 JDK、Python、依赖库都配齐了。4.4 连接设备调试如果你要连真机或开发板adb devices # 列出连接的 Android 设备 lsusb # 检查 USB 设备是否被识别 adb shell # 进入设备命令行 adb root # 以 root 权限重启 ADB 守护进程 adb remount # 将系统分区挂载为可读写 adb push example.txt /system/ # 推送文件到系统目录adb root和adb remount在 userdebug 版本上才能用user 版本会提示权限不足这是正常的。5. 本篇常见错排查5.1 apt install ./xxx.deb 报依赖错误报错类似dependency problems prevent configuration。先修复依赖sudo apt --fix-broken install再重新装。如果还不行用dpkg -i装完再补依赖sudo dpkg -i Trae_CN-linux-x64.deb sudo apt install -f5.2 trae-cn: command not found说明/usr/bin/trae-cn软链没建好。查一下实际可执行文件位置dpkg -L trae-cn | grep bin然后手动建软链sudo ln -s /usr/share/trae-cn/trae-cn /usr/bin/trae-cn5.3 缺少 libncurses5报错error while loading shared libraries: libncurses.so.5。Ubuntu 22.04 默认是 libncurses6需要单独装 5sudo apt install libncurses5如果仓库里没有可以装libncurses5-dev或从旧版本源找但优先用官方源。5.4 JDK 版本冲突编译 framework 时如果报Unsupported class file major version说明 JDK 版本不对。AOSP Android 11 一般要 JDK 11sudo apt install openjdk-11-jdk sudo update-alternatives --config java在交互界面里选 JDK 11 对应的编号。5.5 共享文件夹挂载后无权限ls /mnt/hgfs能看到目录但进不去是 uid/gid 没设对。重新挂载sudo umount /mnt/hgfs sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid1000 -o gid1000确认当前用户 uidid -u输出 1000 就用 1000不是的话换成实际值。6. 装完 trae 之后把 framework 学习链路接起来trae 装好、目录结构清楚、编译环境验证通过接下来就是真正读代码了。我的习惯是先用 trae 打开frameworks/base/services/java/com/android/server/SystemServer.java从main方法一路跳转看系统服务怎么起来的。这时候 trae 的符号索引能力就体现出来了比 grep 快很多。如果你后面要长期在 framework 里做编码和 Agent 辅助开发可以了解下 Coding Plan 这类方案把模型能力接进日常编码流程https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite需要管理接入用的密钥在控制台创建https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite想直接验证模型对话效果用这个入口https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewriteAPI 接入地址统一用https://taotoken.net/api装 trae 这件事本身不难难的是理解 Ubuntu 的包管理和目录逻辑。把.deb依赖、/usr与/opt的分工、fstab挂载这几块搞明白后面不管装什么工具都不会再卡住。framework 学习是个长跑环境搭稳了后面读源码才顺。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。