首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >android root 缺少busybox,手机安装不了Busybox已经root安装后显示让更换路径..「建议收藏」

android root 缺少busybox,手机安装不了Busybox已经root安装后显示让更换路径..「建议收藏」

作者头像
全栈程序员站长
发布于 2022-09-13 02:26:36
发布于 2022-09-13 02:26:36
3.2K0
举报

大家好,又见面了,我是你们的朋友全栈君。

Android加入busybox工具可以通过两种方式进入Android的console:

1. 直接执行命令emulator -shell;

2. 在启动emulator后,通过命令adb shell进入。

之后就可以使用一些linux下常用的命令了,如ls,cat等。然而Android自带的toolbox(位于/system/bin中)也太简略了点,有些命令如find,Android并不支持或者支持得不好。下面将介绍如何为Android加入busybox工具,通过编译得到一个可以在Android里面运行的busybox工具,就可以使用众多常见的linux命令了,如find,touch等。

步骤如下:

1. 首先去busybox主页 下载最新版本的busybox源代码.

2. 下载交叉编译工具: GNU Toolchain for ARM Processors

其中第一项选择ARM EABI或ARM GNU/Linux,第二项选择IA32 GNU/Linux TAR即可。

最后得到一个arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2文件

将压缩包解压到linux下某个目录, 并设置好环境变量, 使之能找到前缀为”arm-none-linux-gnueabi-“的交叉编译工具.

3. 进入busybox源码目录.

先执行make menuconfig命令对编译过程进行配置. 过程如下:

Busybox Settings -> Build Options ->

[*] Build BusyBox as a static binary (no shared libs) 这个要选上,因上这样子编译出来的busyBox才是可以独立运行的。

(/home/jo/tool/arm-2008q3/bin/arm-none-linux-gnueabi-) Cross Compiler prefex 这是交叉编译器的”路径+前缀”,要根据具体的情况来设置。

Busybox Settings -> Installation Options->

[*] Don’t use /usr 这样子编译出来的busybox才不会安装到主机的/usr目录下。一定要选上。

4 执行make编译源码. 如果编译过程中产生无法找到头文件的错误, 可指定交叉编译器用到的头文件所在路径. 如

$make -I./home/jo/tool/arm-2008q3/arm-none-linux-gnueabi/libc/usr/include/

5 编译成功后将得到一个名为busybox的可执行文件.

6 在Android的console下建立目录/data/busybox, 并使用下面的命令将文件busybox复制该目录中:

adb push busybox /data/busybox

7 从Android的console进入/data/busybox目录, 为可执行文件busybox加上可执行属性: chmod +x busybox

8 这时就可以使用busybox工具了, 如果希望在任何目录下都可以直接使用bosybox,则需要将路径/data/busybox export到path环境变量中:

export PATH=$PATH:/data/busybox

9 设置环境变量之后, 在命令行输入busybox, 即可看到其用法, 如:

在当前目录及其子目录中查找名为init.rc的文件可使用以下命令:

$busybox find . -name init.rc

10 安装busybox。

通过执行./busybox –install -s 会看到出现一些错误, 原因是因为Android系统的根目录和/sbin目录是只读的. 因此无法把一些常用命令安装到/bin目录下, 也不能修改/init.rc文件来设置PATH环境变量.

对于如何执行命令busybox –install -s 的默认安装路径, 这里还不太清楚, 或许跟Makefile和编译busybox的相关设置有关.

尽管不可以在Android里面通过执行busybox –install -s 命令来安装常用命令, 却可以通过另外一个方法来把常用命令安装到Android里面.

方法很简单, 可以先在外面的linux系统中执行make install命令把相关的命令提取出来. 然后再通过命令adb push ./_install/bin /data/busybox/bin 把这些常用命令复制进Android系统中. 注意: make install安装命令的所在路径可通过执行make menuconfig进行设置, 默认为./_install目录下面.

这样,就不用每次使用busybox提供的一个命令时, 都要在前面加上busybox了.

11 修改/init.rc文件设置环境变量.

请参考帖子: 对Android启动过程的进一步研究

要提醒的是, 修改PATH环境变量的时候, 应该把busybox常用命令的路径”/data/busybox/bin”放在Android的常用命令路径”/system/bin”的前面, 否则, 先查找得到的将不是busybox的命令, 可以这样设置:

export PATH /data/busybox/bin:/sbin:/system/sbin:/system/bin:/system/xbin

安卓手机安装完busybox.apk,出来个busybox installer图标,点击还是让安装,并提示安装成功,怎么运行命令

为Android加入busybox工具我们可以通过两种方式进入Android的console:

1. 直接执行命令emulator -shell;

2. 在启动emulator后,通过命令adb shell进入。

之后我们就可以使用一些linux下常用的命令了,如ls,cat等。然而Android自带的toolbox(位于/system/bin中)也太简略了点,有些命令如find,Android并不支持或者支持得不好。下面将介绍如何为Android加入busybox工具,通过编译得到一个可以在Android里面运行的busybox工具,我们就可以使用众多常见的linux命令了,如find,touch等。

步骤如下:

1. 首先去busybox主页 下载最新版本的busybox源代码.

2. 下载交叉编译工具: GNU Toolchain for ARM Processors

其中第一项选择ARM EABI或ARM GNU/Linux,第二项选择IA32 GNU/Linux TAR即可。

最后得到一个arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2文件

将压缩包解压到linux下某个目录, 并设置好环境变量, 使之能找到前缀为”arm-none-linux-gnueabi-“的交叉编译工具.

3. 进入busybox源码目录.

先执行make menuconfig命令对编译过程进行配置. 过程如下:

Busybox Settings -> Build Options ->

[*] Build BusyBox as a static binary (no shared libs) 这个要选上,因上这样子编译出来的busyBox才是可以独立运行的。

(/home/jo/tool/arm-2008q3/bin/arm-none-linux-gnueabi-) Cross Compiler prefex 这是交叉编译器的”路径+前缀”,要根据具体的情况来设置。

Busybox Settings -> Installation Options->

[*] Don’t use /usr 这样子编译出来的busybox才不会安装到你主机的/usr目录下。一定要选上。

4 执行make编译源码. 如果编译过程中产生无法找到头文件的错误, 可指定交叉编译器用到的头文件所在路径. 如

$make -I./home/jo/tool/arm-2008q3/arm-none-linux-gnueabi/libc/usr/include/

5 编译成功后将得到一个名为busybox的可执行文件.

6 在Android的console下建立目录/data/busybox, 并使用下面的命令将文件busybox复制该目录中:

adb push busybox /data/busybox

7 从Android的console进入/data/busybox目录, 为可执行文件busybox加上可执行属性: chmod +x busybox

8 这时我们就可以使用busybox工具了, 如果希望在任何目录下都可以直接使用bosybox,则需要将路径/data/busybox export到path环境变量中:

export PATH=$PATH:/data/busybox

9 设置环境变量之后, 在命令行输入busybox, 即可看到其用法, 如:

在当前目录及其子目录中查找名为init.rc的文件可使用以下命令:

$busybox find . -name init.rc

10 安装busybox。

通过执行./busybox –install -s 我们会看到出现一些错误, 原因是因为Android系统的根目录和/sbin目录是只读的. 因此我们无法把一些常用命令安装到/bin目录下, 也不能修改/init.rc文件来设置PATH环境变量.

对于如何执行命令busybox –install -s 的默认安装路径, 这里我还不太清楚, 或许跟Makefile和编译busybox的相关设置有关.

尽管我们不可以在Android里面通过执行busybox –install -s 命令来安装常用命令, 我们却可以通过另外一个方法来把常用命令安装到Android里面.

方法很简单, 可以先在外面的linux系统中执行make install命令把相关的命令提取出来. 然后再通过命令adb push ./_install/bin /data/busybox/bin 把这些常用命令复制进Android系统中. 注意: make install安装命令的所在路径可通过执行make menuconfig进行设置, 默认为./_install目录下面.

这样,我们就不用每次使用busybox提供的一个命令时, 都要在前面加上busybox了.

11 修改/init.rc文件设置环境变量.

请参考帖子: 对Android启动过程的进一步研究

要提醒的是, 修改PATH环境变量的时候, 应该把busybox常用命令的路径”/data/busybox/bin”放在Android的常用命令路径”/system/bin”的前面, 否则, 先查找得到的将不是busybox的命令, 可以这样设置:

export PATH /data/busybox/bin:/sbin:/system/sbin:/system/bin:/system/xbin

希望可以帮到你!

我root手机成功后安装了busybox pro软件在手机上,请问下怎么用它,或是它具体在手机上有什么作用,谢谢

用卓大师(甜椒,刷机精灵,360一键root) 应该方法也是大同小异 1.点设置 选择开发人员选项 勾选USB调试 然后关机 2.下载官方卓大师 安装 打开 然后同时按手机音量下键+电源键 进入 选择第四行以TEST开头的 点主页键(下面触屏第二个)。 3.连接数据线接上电脑 等卓大师识别出手机型号后 点卓大师界面最后一个 实用工具 找到获取ROOT 4.过程中要自启动两次 提示成功后 自己关机重启一次就好了 *切记不能中途拔数据线。

切记部分软件不帮你安装superuser,需要你自己安装,到此root完毕。

来自–IT狂人(知道团队)

我已经root了,,,安装了busybox pro这个软件有什么用,我把它卸载了有什么问题没

busybox安装不了

这个的意思告诉你,安装别的版本,当前版本不行(busybox版本不对)

我一般都安装2.0的(360助手里有)

如何在android上安装busybox

1

首先,对手机进行root,市场上好用的ROOT软件比比皆是,笔者这里用一键ROOT大师作为演示,打开软件后会首先更新机型库,以得到更全面的可root机型支持,所以在使用时最好连网使用

2

进入手机设置,找到“开发者选项”,将“USB调试”开启,部分安卓手机的开发者人员选项隐藏了,这时候只要尝试 设置-更多(或一般)-关于设备-点击“内部版本号”7次

3

即可看到提示“开发者模式已启用”,

4

这时候就可以返回上一层,然后就看到开发者选项了

5

然后同样,将“USB调试”打开即可

6

将手机用数据线连接电脑,可以看到root大师进入下列状态

7

点击“获取ROOT权限”开始获取,等到成功获取会得到下列界面

8

成功验证方式为在手机中会得到一个ROOT授权软件,而且当用“RE文件浏览器”一类的软件时会看到在根目录下有一个名为“ROOT”的文件夹

然后将手机更改为“USB存储设备”或者“MTP连接方式”,然后把busybox.apk、Terminal.apk、dSploit.apk复制到手机的SD卡中以备安装

安装Terminal(终端命令行),打开后输入命令su,并授予终端命令行超级权限

输入下列命令以查看安卓架构 cat /proc/cpuinfo

圈出来的就是安卓架构,然后安装busybox安装器,打开,看到如下界面

待智能检测结束后,选择适合自己架构的版本安装,关于适合自己架构的busybox版本可以在下面的网站中的文件中查看

选择好版本以后,点击一下如图的三角,并按图所示勾选上项目

点击安装,成功后会给予提示“成功!busybox已成功安装到您的设备之上。”,不成功的原因一般情况时您的/system内存不足,可以在 /system/apk 下删除一些不用的较大的文件,注意,这些文件都是两份,所以一次删除要删除名称大体相同两个,但注意不要删除必须的文件,否则系统恢复的时候就难以正常恢复了

然后安装我们的测试软件dSploit.apk,打开等待更新完成日志文件,此时就会看到正常的软件界面了

对于dSploit的功能这里不作介绍,有兴趣的朋友可以自行百度。

还有文中提到的busybox可以参考下图下载,至此,我们的“安卓安装busybox完整方案”就圆满成功了,鼓掌!!

我的busybox安装失败如图,vivo手机。

有可能是系统不兼容吧,比如小米的MIUI系统装了这个东西就是变砖

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160497.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
cubieboard + busybox 打造mini系统「建议收藏」
本文打造一个迷你的LINUX系统,讲述了arm嵌入式设备的常用方法和过程。适合新手入门,当然最好还是知道什么是交叉编译,和懂得linux的基本命令。
全栈程序员站长
2022/09/16
9230
移植Python2.7到ARM-LINUX嵌入式平台
笔者长期在ARM-LINUX嵌入式平台使用C语言开发。硬件IO操作只能用C确实没办法,但是应用程序用C简直就苦逼了,程序复杂一点,各种越界、指针错误、诡异死机、segment fault、内存泄漏、core dump、编译找不到头文件、依赖库,解析个字符费老劲,轮子太少纯靠白手起家。自从把Python移植到嵌入式平台,用C写完IO的Python扩展库然后用Python写应用程序完全就是摧枯拉朽般存在。
Python中文社区
2018/07/26
8.5K1
DM368开发 –IPNC 设置过程[通俗易懂]
这是linux tar文件,需要解压在linux机器。这是主要tar文件IPNC RDK安装。这个包含在以下文件
全栈程序员站长
2022/09/21
1.1K0
Android源码下载与编译全过程
摘要:本文是根据自己亲手编译源码过程所总结的一个开发笔记(包括编译流程,可能遇到的错误,以及错误解决的办法等),首先介绍了基于Ubuntu9.10的编译环境的建立,再次介绍了整个源码的获取方式,最后讲解了源码的编译过程(包括源码的打包处理,u-boot的编译,Linux的kernel的编译,android文件系统的编译)。本文各个操作的开发环境是基于VMware7.10虚拟机的Ubuntu9.10环境。当然不同的版本的Linux可能操作过程有点差异,所遇到的错误可能不同,但是各个操作思想是一致的。
用户4148957
2022/06/14
2K0
Linux下BusyBox根文件系统制作
BusyBox 是一个集成了一百多个最常用linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。BusyBox提供了一个比较完善的环境,可以适用于任何小的嵌入式系统。
DS小龙哥
2022/04/08
6.7K0
Linux下BusyBox根文件系统制作
busybox rootfs 与 ubuntu rootfs_boot.img root
下载busybox的源码,解压后,设定ARCH 和 CROSS_COMPILE的两个基本环境变量,选择defconfig作为默认配置,大部分的busybox 工具都会被编译出来。 如果不指定输出目录,默认输出到根目录的_install目录下面,如果需要指定目录,配置CONFIG_PREFIX=/a/b/c/rootfs, 这样make生成的 /bin, /sbin, /usr三个默认文件夹就直接在rootfs目录下。
全栈程序员站长
2022/11/08
9690
嵌入式Linux开发-busybox根文件系统制作
如果大家做过linux系统移植、或者Linux相关开发,对根文件系统这个名词应该很熟悉,在搭建嵌入式开发环境过程中,移植bootloader,移植kernel制作根文件系统是必须要做3件事情。
DS小龙哥
2022/04/08
4.6K1
嵌入式Linux开发-busybox根文件系统制作
Qt-4.8.7交叉编译平台的搭建、移植详解( aarch32、aarch64 、mips64)「建议收藏」
1. 准备下载相关的交叉编译器gcc (1)、aarch32架构的交叉编译器 因为系统是ubuntu 14-04的版本,可以直接使用安装的方式去安装aarch32架构的交叉编译器。也可以按照aarch64架构的方式去下载aarch32的交叉编译器,建议g++版本低一点,4.8.4左右。 sudo apt-get install g++-arm-linux-gnueabihf 执行命令成功后,使用 命令 arm-linux-gnueabihf-g++ -v 查看到安装的版本值,安装成功! 版本值显示如下图:
全栈程序员站长
2022/11/07
10K0
嵌入式Linux利用busybox制作根文件系统
将busybox源码拷贝到linux主机并解压,同时新建一个rootfs文件夹,用于保存待会制作好的根文件系统。
知否知否应是绿肥红瘦
2025/02/19
7750
嵌入式Linux利用busybox制作根文件系统
hadoop平台搭建_eclipse安卓开发环境搭建
参看:Getting Started Guide for DM368 DM365 LeopardBoard
全栈程序员站长
2022/09/21
1.4K0
hadoop平台搭建_eclipse安卓开发环境搭建
busybox引导linux内核_linux移植教程
【点此进入busybox官网】,网站链接为:https://busybox.net/。进入官网后依次查找下述菜单,进入下载页面。
全栈程序员站长
2022/11/08
6.4K0
交叉编译安卓busybox
1 2,021 views A+ 所属分类:技术 我是在ubuntu14.04上使用交叉编译工具链编译arm 64位版busybox 第一步:在ubuntu上安装交叉编译链。 下载,解压,配置环境变量(PATH)。。。 第二步:到官网上下载busybox,解压 wget http://busybox.net/downloads/busybox-2.23.tar.bz2 tar -xjf busybox-2.23.tar.bz2 cd busybox-2.23/ 第三步:配
用户1127987
2018/06/05
2.3K0
ARM平台下Linux嵌入式环境搭建
之前一直是将ARM的Linux环境搭建在虚拟机中,然后在主机Windows中开启虚拟机来进行使用。而如今早已习惯Linux的使用,也已经完全适应在Linux下的日常使用了,所以本次打算将虚拟机中的嵌入式环境转移到主机Linux中,主机Linux使用的是Ubuntu 18.04,ARM CPU采用的是S5PV210。嵌入式开发环境搭建相对还是比较繁杂,故在此做个记录。
菜菜cc
2022/11/15
2.4K0
ARM平台下Linux嵌入式环境搭建
使用Busybox制作根文件系统
Busybox本身包含了很了Linux命令,但是要编译其他程序的话需要手工下载、编译,如果它需要某些依赖库,你还需要手工下载、编译这些依赖库。 如果想做一个极简的文件系统,可以使用Busybox手工制作。
手撕代码八百里
2021/09/26
3.2K0
Busybox编译安装「建议收藏」
Busybox 最初是由 Bruce Perens 在 1996 年为 Debian GNU/Linux 安装盘编写的。其目标是在一张软盘(存储空间只有1MB多)上创建一个GNU/Linux 系统,可以用作安装盘和急救盘
全栈程序员站长
2022/09/13
2.4K0
Busybox编译安装「建议收藏」
嵌入式 linux 根文件系统原理和制作方法
一套linux体系,只有内核本身是不能工作的,必须要 rootfs 上的 etc 目录下的配置文件、/bin /sbin 等目录下的 shell 命令,还有 /lib 目录下的库文件等···)相配合才能工作 。
杨源鑫
2021/07/30
4.5K0
QT5.6移植到ARM三星4412-
Qt 是一个跨平台的C++图形用户界面应用程序框架。它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。
DS小龙哥
2022/01/07
7.5K0
QT5.6移植到ARM三星4412-
构建一个适合stm32mp157系列开发板的嵌入式Linux系统
Linux平台上有许多开源的嵌入式linux系统构建框架(框架的意思就是工具),这些框架极大的方便了开发者进行嵌入式系统的定制化构建,目前比较常见的有OpenWrt, Buildroot, Yocto,等等。其中Buildroot功能强大,使用简单,而且采用了类似于linux kernel的配置和编译框架,所以受到广大嵌入式开发人员的欢迎。
韦东山
2020/10/14
5.4K0
Linux 驱动开发:USB无线wifi驱动开发(MT7601)、完成WIFI管理工具安装
当前采用的WIFI是360随身WIFI,这款随身WIFI所用的网卡芯片是 Ralink(雷凌科技) 的解决方案(在上篇文章里也有详细介绍),芯片型号为 MT7601。 如果在PC计算机上使用这款随身WIFI那自然是简单,官网下载个驱动安装插上就能使用。 如果是在嵌入式平台,自动的平台上使用,官网就没有现成的驱动下载了,这种情况下就需要针对WIFI编写驱动。当然,从0开始写确实困难,不过这款芯片官方提供了linux下的驱动源码,这就好办了。只需要下载下来,编译就能使用了。
DS小龙哥
2022/10/31
12.6K0
Linux 驱动开发:USB无线wifi驱动开发(MT7601)、完成WIFI管理工具安装
基于NXP i.MX28 MPU的疫情监控平台1-交叉编译环境搭建
交叉编译器是在PC上运行的编译器,但是编译后得到的二进制程序却不能在PC 上运行,而只能在开发板上运行。交叉编译器命名方式一般遵循“处理器-系统-gcc”这样的 规则,一般通过名称便可以知道交叉编译器的功能。
单片机点灯小能手
2020/07/17
1.8K0
基于NXP i.MX28 MPU的疫情监控平台1-交叉编译环境搭建
推荐阅读
相关推荐
cubieboard + busybox 打造mini系统「建议收藏」
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档