Android设备:无busybox工具解决


目录

  • 1.问题描述
  • 2.解决方案

.

BusyBox 是一个集成了数百个常用 Unix/Linux 命令的精简工具箱,专为资源受限的嵌入式系统设计。

BusyBox 将众多标准 Linux 命令(如 ls, cp, mv, grep, tar, ping, ifconfig, udhcpc, vi 等)编译到一个可执行文件中,通过符号链接或参数调用不同功能,极大节省存储空间和内存。

.

1.问题描述

在 Android 设备上执行 busybox 命令时报错,系统未预装 busybox 工具,导致无法使用如 udhcpc 等常用命令。

.

报错一:命令未找到

Shell 复制代码
gen5_gvm_gy:/ # busybox ls
/system/bin/sh: busybox: inaccessible or not found

原因:设备未安装 busybox,或未加入 PATH。

.

报错二:架构不兼容

从官网下载:

Shell 复制代码
wget  https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-armv8l


adb push ./busybox-armv8l /

执行时报错:

Shell 复制代码
gen5_gvm_gy:/ # ./busybox-armv8l ls
/system/bin/sh: ./busybox-armv8l: not executable: 32-bit ELF file

原因:下载的是 musl libc 编译的通用 Linux 版本,非 Android 专用,且可能是 32 位 ELF,与设备(arm64 / aarch64)不兼容。

.


2.解决方案

解决方案:使用 Android 专用预编译版本

推荐使用 GitHub 上为 Android 编译的 busybox。仓库地址:https://github.com/Magisk-Modules-Repo/busybox-ndk

支持架构:

  • busybox-arm (32位)

  • busybox-arm64 (64位)

  • busybox-x86

  • busybox-x86_64

操作步骤:

  1. 下载 busybox-arm64 文件:
Shell 复制代码
wget https://github.com/Magisk-Modules-Repo/busybox-ndk/raw/master/busybox-arm64
  1. 推送到设备(需 root):
Shell 复制代码
adb push busybox-arm64 /data/local/tmp/
  1. 进入设备 shell,赋予执行权限:
Shell 复制代码
adb root && adb shell
cd /data/local/tmp
chmod +x busybox-arm64
  1. 测试执行:
Shell 复制代码
./busybox-arm64 ls
  1. (可选)移动到系统路径并重命名,方便全局调用:
Shell 复制代码
cp busybox-arm64 /system/xbin/busybox
chmod 755 /system/xbin/busybox

.


声明:资源可能存在第三方来源,若有侵权请联系删除!

相关推荐
萑澈13 小时前
更换SIM卡前必看:如何使用ADB导出并筛选指定SIM卡的全部短信
android
希侬13 小时前
Cursor生成APK加固签名脚本
android
urkay-14 小时前
Android 切换应用语言
android·java·kotlin·iphone·androidx
i***118614 小时前
MySQL-mysql zip安装包配置教程
android·mysql·adb
apihz14 小时前
批量获取3位未注册短域名免费API接口每日更新
android·服务器·网络·网络协议·tcp/ip
apihz14 小时前
域名注册状态查询免费API接口详细教程
android·服务器·网络·python·tcp/ip
节节虫14 小时前
GLSurfaceView原理深度剖析:从OpenGL ES到Android屏幕的渲染之旅
android
用户416596736935514 小时前
告别 XML ANR?Compose 的性能陷阱与重组优化实战指南
android
私人珍藏库15 小时前
[Android] 轻小说文库(1.23)
android·app·安卓·工具