搭建编译 HW-T3568 安卓固件的环境

搭建编译 HW-T3568 安卓固件的环境

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

编译环境构建

1. 安装 SDK 编译环境所需软件包

首先,更新并升级系统:

bash 复制代码
sudo apt update
sudo apt upgrade

然后,安装必要的软件包:

bash 复制代码
sudo apt install git git-core gnupg ssh make gcc g++ libssl-dev liblz4-tool \
expect patchelf chrpath gawk texinfo diffstat binfmt-support qemu-user-static \
live-build bison flex fakeroot cmake gcc-multilib g++-multilib unzip zip curl \
zlib1g-dev libc6-dev-i386 lib32ncurses5-dev libx11-dev lib32z-dev ccache \
libgl1-mesa-dev libxml2-utils xsltproc device-tree-compiler libfdt-dev libfdt1 \
python3-pip python3-dev python3-pyelftools ncurses-dev libncurses5 libgl1-mesa-dev \
gperf build-essential

2. 常见问题及解决方法

1)软件包安装失败的解决方案
  • 替换 python-pip

    现代系统默认使用 Python 3,请改用 python3-pip

    bash 复制代码
    sudo apt install python3-pip
  • 启用 universe 仓库

    如果某些包无法找到,确保已启用 universe 仓库:

    bash 复制代码
    sudo add-apt-repository universe
    sudo apt update
    sudo apt install expect
  • 安装 qemu-user-static

    若安装失败,尝试启用 multiverse 仓库:

    bash 复制代码
    sudo add-apt-repository multiverse
    sudo apt update
    sudo apt install qemu-user-static
  • 安装 device-tree-compiler

    如果未找到该工具,可以尝试:

    bash 复制代码
    sudo apt install device-tree-compiler
  • 安装 pyelftools

    使用 pip3 安装 Python 库 pyelftools

    bash 复制代码
    pip3 install pyelftools
2)确保 Python2 为系统默认版本

Android 11 的编译环境要求默认使用 Python 2。执行以下命令切换默认版本:

bash 复制代码
sudo rm -rf /usr/bin/python
sudo ln -s /usr/bin/python2 /usr/bin/python

3. 安装 repo

  1. 创建 repo 所需的目录并配置环境变量:

    bash 复制代码
    mkdir ~/bin
    export PATH=~/bin:$PATH
  2. 下载 repo 工具:

    bash 复制代码
    curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo
    chmod a+x ~/bin/repo
  3. 配置 Git 用户信息(repo 使用 Git 工作,需要提前配置用户信息):

    bash 复制代码
    git config --global user.name "your name"
    git config --global user.email "your email"
  4. 验证 Git 配置信息:

    bash 复制代码
    git config --list

注意事项

  • 请确保所有依赖的软件包均已正确安装,若遇到问题可参考上述解决方案逐一排查。
  • 完成上述环境配置后,即可开始编译 HW-T3568 固件。
相关推荐
消失的旧时光-194316 分钟前
Android 系统层扫盲 09:AMS、ATMS、WMS、PMS 到底分别管什么?
android·wms·pms·ams·aosp·atms
Godikov32 分钟前
Android 系统级设备应用踩坑实录:sharedUserId 签名、SDK 授权失败 -4、开机自启与 U 盘 OTA 升级
android
IT毕设实战小研4 小时前
基于大数据的国内主要农作物产量趋势分析与可视化
android·java·大数据·django·课程设计
企业数字化笔记5 小时前
固定资产历史数据怎么导入系统?Excel模板、字段映射和数据校验
android·java·数据库·后端
龙之叶5 小时前
Android出海系列-GMS认证介绍
android
潮族大Z5 小时前
Android性能优化:启动、内存、卡顿的一站式排查手册
android
事圆则缓7 小时前
从suspend字节码到 Retrofit 协程桥:挂起函数识别与恢复
android·retrofit
杉氧8 小时前
RN 性能调优指南:重渲染(Re-renders)控制与长列表(FlatList)优化
android·前端·react native
Coffeeee8 小时前
claude-video 一个让你的Agent拥有看视频能力的Skill
android·人工智能·aigc
菜鸟~noob2339 小时前
【电子战】第07篇:多普勒测向【含matlab代码】
android·开发语言·matlab