HW-T3568 安卓固件编译指南

HW-T3568 安卓固件编译指南

  • 作者:吴思含(Witheart)
  • 更新时间:20241127

本文档旨在指导如何进行 HW-T3568 的安卓固件编译,最终生成 update.img 文件以供烧录。


一、获取源码并切换分支

  1. 进入源码目录,确认源码版本为 Android 11。

  2. 查看分支列表:

    bash 复制代码
    git branch -a
  1. 切换到目标分支(如:V3.007):

    bash 复制代码
    git checkout V3.007
  2. 拉取远程仓库的最新内容:

    bash 复制代码
    git pull origin V3.007

二、单独编译和整体编译 Android 固件

1. 设置 Java 环境

进入 android11 文件夹,设置 Java 版本为 1.8。确认 Java 版本后,才能进行编译:

bash 复制代码
source javaenv.sh
java -version

确保输出的 Java 版本为 1.8。


2. 配置编译环境

运行以下命令以配置编译环境(每次打开新的终端都要重新进行source):

bash 复制代码
source build/envsetup.sh
lunch

运行 lunch 后会出现目标硬件列表,根据需要输入对应的序号进行选择。


3. 整体编译 Android 固件

完成环境配置后,运行以下命令进行整体编译:

bash 复制代码
./build.sh -AUCKu

4. 单独编译 Android 固件

4.1 编译 uboot

在 Android 源码目录下运行以下命令编译 uboot:

bash 复制代码
./build.sh -U

4.2 编译 Android 内核

在 Android 源码目录下运行以下命令编译内核:

bash 复制代码
./build.sh -CKA

4.3 编译 Android 文件系统
  1. 在源码根目录的 build.sh 脚本中,找到 make installclean 命令,并将其注释掉。

  2. 然后运行以下命令编译文件系统:

    bash 复制代码
    ./build.sh -A

注意 :可能需要选择电源域电压配置,建议参考文档 "工控ARM软硬件接口文件_20231226.xlsx" 进行选择。


5. 编译时遇到的常见问题

错误信息:
text 复制代码
error: external/angle/Android.bp:56:1: module "libfeature_support_angle" variant "android_arm64_armv8-a_cortex-a55_shared": 
module source path "external/angle/third_party/jsoncpp/source/include" does not exist
18:02:16 soong bootstrap failed with: exit status 1
Build android failed!

原因 :模块 libfeature_support_angle 中引用的路径 external/angle/third_party/jsoncpp/source/include 不存在。

解决方法:

  1. 在路径 external/jsoncpp 中找到 include 文件夹。
  2. 将 include 文件夹复制到 external/angle/third_party/jsoncpp/source/ 路径下。

相关资源 :

jsoncpp 的 GitHub 地址:https://github.com/open-source-parsers/jsoncpp


三、编译耗时和系统资源占用

  • 编译耗时 :约 4小时26分

  • CPU占用 :编译时 CPU 使用率较高,建议在硬件性能较好的机器上运行。


四、参考资源

相关推荐
海水冷却9 小时前
Android 群组聊天怎么实现:基于 ZIM 的完整落地指南(附可运行 Demo)
android
三少爷的鞋12 小时前
现代 Android 架构指南:不要再主动设计 Callback 接口
android
TimeFine18 小时前
AI 编码工作流的设计
android·ai编程
骑着蜗牛撵大象32718 小时前
C++20 协程 × 屏障:手写一个 co_await 版 Barrier,让等待不再钉死线程
android·c++20·协程·并发编程·co_await·屏障同步
山东孙燕姿20 小时前
设备台账重构:从一张表到三层模型
android·java·网络·低代码·重构·rxjava
蒸鱼Yuzheng21 小时前
移动端 CPU 调度分析:线程亲和性、大小核迁移与卡顿
android·perfetto·性能分析·线程优化·cpu调度
booboosui21 小时前
安卓唤醒词:12 维 MFCC 加 DTW,阈值 1.8
android
传奇开心果21 小时前
Compose Multiplatform 共享边界实战:架构契约、互操作同步与可回退设计
android·kotlin
事圆则缓21 小时前
从开机到首帧:Android 系统与应用启动流程源码分析
android
AI吃大瓜1 天前
指针压力表读数4:Android实现指针压力表读数(可实时检测)
android·指针读数·指针压力表·压力表·压力表读数