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

如何为ARM-v7a/ARM64-v8a架构编译Android SDK工具(aapt、adb等)

编译ARM-v7a/ARM64-v8a架构的Android SDK工具(可直接在设备上运行)

一、可行性确认

完全可以实现!你之前完成的是开发机(x86/x86_64)使用的host端SDK工具编译,而要得到能在Android设备上运行的工具,需要调整编译目标,生成对应ARM架构的target端二进制文件。

二、具体编译步骤

1. 代码库初始化(和你之前的操作一致)

mkdir ~/WORKING_DIRECTORY
cd ~/WORKING_DIRECTORY
repo init -u https://android.googlesource.com/platform/manifest -b master -g all,-notdefault,tools
repo sync

2. 选择对应架构的编译目标

你之前尝试的sdk_arm-eng并不是合法目标,需要选择ARM/ARM64对应的设备eng目标:

  • 编译ARM-v7a版本:
    . build/envsetup.sh
    lunch aosp_arm-eng
    
  • 编译ARM64-v8a版本:
    . build/envsetup.sh
    lunch aosp_arm64-eng
    

3. 编译指定工具模块

make sdk是生成host端SDK包的命令,我们需要单独编译target端的工具模块:

  • 编译aapt/aapt2:
    make aapt2 -j$(nproc)  # 不同Android版本可能需要用make aapt
    
  • 编译adb(设备端的adb客户端)和adbd(设备守护进程):
    make adb -j$(nproc)
    make adbd -j$(nproc)
    
  • 编译其他工具(如fastboot、dex2oat等):
    make fastboot -j$(nproc)
    make dex2oat -j$(nproc)
    

编译完成后,二进制文件会输出到对应架构的目录:

  • ARM-v7a:out/target/product/generic_arm/system/bin/
  • ARM64-v8a:out/target/product/generic_arm64/system/bin/

三、依赖问题解决(针对Debian包的问题)

你提到的Debian ARM/ARM64版本工具,依赖的是GNU C库组件(libgcc_s.so.1、ld-linux-aarch64.so.1等),而Android系统使用的是自研的Bionic C库,所以这些包无法直接在Android设备上运行。

而通过Android源码编译的target端工具,会自动链接Android系统预装的Bionic库(libc.so、libutils.so、liblog.so等),不需要额外依赖就能运行。你可以用NDK的readelf工具验证:

# 以ARM64的aapt2为例
~/android-sdk/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-readelf -a out/target/product/generic_arm64/system/bin/aapt2 | grep Shared

输出的依赖项全是Android系统自带的库,不会出现GNU相关依赖。

四、部署到Android设备

编译完成后,通过adb将工具推送到设备并赋予执行权限即可运行:

# 推送ARM64版本的aapt2到设备临时目录
adb push out/target/product/generic_arm64/system/bin/aapt2 /data/local/tmp/
# 赋予执行权限
adb shell chmod +x /data/local/tmp/aapt2
# 在设备上运行验证
adb shell /data/local/tmp/aapt2 --version

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:04:17