You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法编译Tinker Board 2/2S的Android 11系统,寻求技术支持

解决Tinker Board 2/2S Android 11源码内核编译失败问题

场景说明

在WSL Ubuntu 22.04LTS环境下,编译从TinkerBoard官方Wiki获取的Tinker Board (S) R2.0/Tinker Board 2/2S Android 11源码时,执行以下命令后出现内核编译失败:

source build/envsetup.sh
lunch WW_Tinker_Board_2-userdebug
./build.sh -UCKAu

剩余磁盘空间200GB,为Android开发新手,寻求具体解决步骤。


具体解决步骤

1. 补全编译依赖

Ubuntu 22.04默认缺少部分Android 11编译所需依赖,执行以下命令安装:

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

Android 11要求Python 3.8版本,Ubuntu 22.04默认是3.10,需切换版本:

sudo apt install python3.8 python3.8-dev python3.8-distutils
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
sudo update-alternatives --config python3

在弹出的选项中选择Python 3.8作为默认版本。

2. 同步内核子模块

源码下载过程中可能出现内核子模块缺失,进入源码根目录执行:

git submodule sync
git submodule update --init --recursive

若使用repo工具下载,可重新同步:

repo sync -c -j$(nproc)

3. 调整WSL资源分配

WSL默认内存/CPU分配不足可能导致编译失败,在Windows系统的C:\Users\<你的用户名>\路径下创建.wslconfig文件,写入以下内容:

[wsl2]
memory=8GB
processors=4
swap=4GB
localhostForwarding=true

保存后重启WSL:

wsl --shutdown

重新打开终端后继续编译。

4. 单独编译内核定位问题

跳过全量编译,先单独编译内核排查具体错误:

cd kernel/rockchip
make ARCH=arm64 WW_Tinker_Board_2_defconfig
make ARCH=arm64 -j$(nproc)

若出现编译器版本错误,安装Android 11推荐的clang 12:

sudo apt install clang-12
export CC=clang-12

再重新执行内核编译命令。

5. 调整全量编译参数

原命令中的-C参数会清理之前的编译缓存,可先去掉该参数,确保内核编译成功后再执行全量编译:

./build.sh -UKAu

内容的提问来源于stack exchange,提问作者Cherrith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 11:33:02