Android Studio的笔记--BusyBox相关

BusyBox 相关

  • BusyBox
  • android上安装busybox和使用示例
    • 一、下载
    • 二、移动
    • 三、安装和设置环境变量
    • 四、使用
  • busybox源码下载和查看

BusyBox

BUSYBOX

BUSYBOX链接https://busybox.net/
点击链接后如图

busybox

点击左边菜单栏的Get BusyBix中的Download Source

跳转到busybox 的下载源码界面

有各个版本的busybox源码可以下载

BUSYBOX下载版本源码链接https://busybox.net/downloads/
点击链接后如图

在这里插入图片描述

也可以选择binaries 下载busybox去安装使用

BUSYBOX版本下载链接https://busybox.net/downloads/binaries/
点击链接后如图

在这里插入图片描述

android上安装busybox和使用示例

例如我下载的是1.31.0版本,用于安卓设备上,进行安装使用

一、下载

1.在Index of /downloads/binaries界面,点击1.31.0-defconfig-multiarch-musl版本

BUSYBOX版本下载链接https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/
点击链接后如图
在这里插入图片描述

2.查看android的构架

输入串口指令getprop |grep ro.product.cpu.abi

我的板子查看后是 armeabi-v7a

pxxx_xxx:/ # getprop |grep ro.product.cpu.abi
[ro.product.cpu.abi]: [armeabi-v7a]

3.在busybox-armv7l右击鼠标,选择将链接另存为

busybox-armv7l.txt

在这里插入图片描述
在这里插入图片描述
将busybox-armv7l.txt改成busybox
在这里插入图片描述

二、移动

可以用adb push 也可以用U盘cp

找到一个位置,将busybox放到位置。然后给777 的权限

C:\Users\Administrator>adb push C:\Users\Administrator\Downloads\busybox /data/busybox
C:\Users\Administrator\Downloads\busybox: 1 file pushed, 0 skipped. 110.3 MB/s (1152216 bytes in 0.010s)

C:\Users\Administrator>adb shell
pxxx_xxx:/ $ su
pxxx_xxx:/ # cd data/busybox/
pxxx_xxx:/data/busybox # ls -l
total 1132
-rw-rw-rw- 1 shell shell 1152216 2024-12-19 10:50 busybox
pxxx_xxx:/data/busybox # chmod 777 busybox

三、安装和设置环境变量

安装

./代表当前路径,安装在当前路径下,记住路径所在位置,用于设置环境变量

./busybox  --install ./

设置环境变量

/data/busybox是刚才的安装路径,如果安装在其它位置可以修改成安装的路径

export PATH=/data/busybox:$PATH
pxxx_xxx:/data/busybox # ./busybox  --install ./
pxxx_xxx:/data/busybox # export PATH=/data/busybox:$PATH
pxxx_xxx:/data/busybox # cd /
pxxx_xxx:/ # busybox
BusyBox v1.31.0 (2019-06-10 15:54:50 CEST) multi-call binary.
BusyBox is copyrighted by many authors between 1998-2015.
Licensed under GPLv2. See source distribution for detailed
copyright notices.

Usage: busybox [function [arguments]...]
   or: busybox --list[-full]
   or: busybox --show SCRIPT
   or: busybox --install [-s] [DIR]
   or: function [arguments]...

        BusyBox is a multi-call binary that combines many common Unix
        utilities into a single executable.  Most people will create a
        link to busybox for each function they wish to use and BusyBox
        will act like whatever it was invoked as.

Currently defined functions:
        [, [[, acpid, add-shell, addgroup, adduser, adjtimex, arch, arp, arping, ash, awk, base64, basename, bc, beep,
        blkdiscard, blkid, blockdev, bootchartd, brctl, bunzip2, bzcat, bzip2, cal, cat, chat, chattr, chgrp, chmod,
        chown, chpasswd, chpst, chroot, chrt, chvt, cksum, clear, cmp, comm, conspy, cp, cpio, crond, crontab, cryptpw,
        cttyhack, cut, date, dc, dd, deallocvt, delgroup, deluser, depmod, devmem, df, dhcprelay, diff, dirname, dmesg,
        dnsd, dnsdomainname, dos2unix, dpkg, dpkg-deb, du, dumpkmap, dumpleases, echo, ed, egrep, eject, env, envdir,
        envuidgid, ether-wake, expand, expr, factor, fakeidentd, fallocate, false, fatattr, fbset, fbsplash, fdflush,
        fdformat, fdisk, fgconsole, fgrep, find, findfs, flock, fold, free, freeramdisk, fsck, fsck.minix, fsfreeze,
        fstrim, fsync, ftpd, ftpget, ftpput, fuser, getopt, getty, grep, groups, gunzip, gzip, halt, hd, hdparm, head,
        hexdump, hexedit, hostid, hostname, httpd, hush, hwclock, i2cdetect, i2cdump, i2cget, i2cset, i2ctransfer, id,
        ifconfig, ifdown, ifenslave, ifplugd, ifup, inetd, init, insmod, install, ionice, iostat, ip, ipaddr, ipcalc,
        ipcrm, ipcs, iplink, ipneigh, iproute, iprule, iptunnel, kbd_mode, kill, killall, killall5, klogd, last, less,
        link, linux32, linux64, linuxrc, ln, loadfont, loadkmap, logger, login, logname, logread, losetup, lpd, lpq,
        lpr, ls, lsattr, lsmod, lsof, lspci, lsscsi, lsusb, lzcat, lzma, lzop, makedevs, makemime, man, md5sum, mdev,
        mesg, microcom, mkdir, mkdosfs, mke2fs, mkfifo, mkfs.ext2, mkfs.minix, mkfs.vfat, mknod, mkpasswd, mkswap,
        mktemp, modinfo, modprobe, more, mount, mountpoint, mpstat, mt, mv, nameif, nanddump, nandwrite, nbd-client,
        nc, netstat, nice, nl, nmeter, nohup, nologin, nproc, nsenter, nslookup, ntpd, nuke, od, openvt, partprobe,
        passwd, paste, patch, pgrep, pidof, ping, ping6, pipe_progress, pivot_root, pkill, pmap, popmaildir, poweroff,
        powertop, printenv, printf, ps, pscan, pstree, pwd, pwdx, raidautorun, rdate, rdev, readahead, readlink,
        readprofile, realpath, reboot, reformime, remove-shell, renice, reset, resize, resume, rev, rm, rmdir, rmmod,
        route, rpm, rpm2cpio, rtcwake, run-init, run-parts, runlevel, runsv, runsvdir, rx, script, scriptreplay, sed,
        sendmail, seq, setarch, setconsole, setfattr, setfont, setkeycodes, setlogcons, setpriv, setserial, setsid,
        setuidgid, sh, sha1sum, sha256sum, sha3sum, sha512sum, showkey, shred, shuf, slattach, sleep, smemcap,
        softlimit, sort, split, ssl_client, start-stop-daemon, stat, strings, stty, su, sulogin, sum, sv, svc, svlogd,
        svok, swapoff, swapon, switch_root, sync, sysctl, syslogd, tac, tail, tar, taskset, tc, tcpsvd, tee, telnet,
        telnetd, test, tftp, tftpd, time, timeout, top, touch, tr, traceroute, traceroute6, true, truncate, ts, tty,
        ttysize, tunctl, ubiattach, ubidetach, ubimkvol, ubirename, ubirmvol, ubirsvol, ubiupdatevol, udhcpc, udhcpc6,
        udhcpd, udpsvd, uevent, umount, uname, unexpand, uniq, unix2dos, unlink, unlzma, unshare, unxz, unzip, uptime,
        users, usleep, uudecode, uuencode, vconfig, vi, vlock, volname, w, wall, watch, watchdog, wc, wget, which, who,
        whoami, whois, xargs, xxd, xz, xzcat, yes, zcat, zcip

四、使用

例如使用microcom 串口指令

microcom -t 5000 -s 115200 /dev/ttyS1

打开串口/dev/ttyS1,设置波特率115200,5s没操作退出

pxxx_xxx:/ # microcom -t 5000 -s 115200 /dev/ttyS1

# ls
[1;32mapp.elf[m                  [1;32mconfig.ini[m               [1;32mmnt.sh[m
[1;32marm-histbv320-linux-gdb[m  [1;32mfactory.elf[m              [1;32mreadme.txt[m
[1;32mautorun[m                  [1;32mfts_config.ini[m
# pxxx_xxx:/ #

busybox源码下载和查看

例如在Index of /downloads下载busybox-1.31.0.tar.bz2
在这里插入图片描述
解压后如图

在这里插入图片描述

未完待续·

与君共勉!待续
欢迎指错,一起学习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/941449.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

学习ASP.NET Core的身份认证(基于JwtBearer的身份认证4)

本文学习并记录builder.Services.AddAuthentication().AddJwtBearer函数中配置类的主要属性及用途。AddJwtBearer函数原型如下图所示,划红线的为常用形式,主要设置JwtBearerOptions类型的常用属性或事件。   JwtBearerOptions类中的属性虽多&#xff0…

学习threejs,scene.overrideMaterial全局材质效果

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.2 ☘️THREE.Scene 场景1.2 ☘️…

【YashanDB知识库】insert语句有编码不识别字,执行卡住问题

问题现象 insert语句卡住,yasdb worker线程cpu占用99.9% 问题风险及影响 sql执行不了 问题影响版本 22.2.16.1、23.3.0.61及之前版本 问题发生原因 lex解析时,对于不能识别字符的特殊场景,形成死循环。 1、alter system kill sessi…

zlog的使用方式

下载地址:GitHub - HardySimpson/zlog: A reliable, high-performance, thread safe, flexsible, clear-model, pure C logging library. zlog是一个高可靠性、高性能、线程安全、灵活、概念清晰的纯C日志函数库。 正因为zlog是一个日志函数库,故zlog没…

【批量生成WORD和PDF文件】根据表格内容和模板文件批量创建word文件,一次性生成多个word文档和批量创建PDF文件

如何按照Word模板和表格的数据快速制作5000个word文档 ? 在与客户的合作的中需要创建大量的合同,这些合同的模板大概都是一致的,是不是每次我们都需要填充不一样的数据来完成? 今天用表格数据完成合同模板的填充,批量…

如何在centos系统上挂载U盘

在CentOS上挂载NTFS格式的U盘,需要执行一系列步骤,包括识别U盘设备、安装必要的软件、创建挂载点,并最终挂载U盘。以下是在CentOS上挂载NTFS格式U盘的详细步骤: 一、准备工作 确认CentOS版本: 确保你的CentOS系统已经安装并正常运行。不同版本的CentOS在命令和工具方面可能…

Unittest框架及自动化测试实现流程

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 Unittest框架介绍 Unittest框架是Python中一个标准的库中的一个模块,该模块包括许多的类如 test case类、test suit类、texttest runner类、texttest …

Adversarial Machine Learning(对抗机器学习)

之前把机器学习(Machine Learning)的安全问题简单记录了一下,这里有深入研究了一些具体的概念,这里记录一下方便以后查阅。 Adversarial Machine Learning(对抗机器学习) Adversarial Examples 相关内容Eva…

Jmeter负载测试如何找到最大并发用户数?

在性能测试中,当我们接到项目任务时,很多时候我们是不知道待测接口能支持多少并发用户数的。此时,需要我们先做负载测试,通过逐步加压,来找到最大并发用户数。那么当我们找到一个区间,怎么找到具体的值呢&a…

【Leetcode】855. 考场就座

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接🔗 在考场里,有 n n n 个座位排成一行,编号为 0 0 0 到 n − 1 n - 1 n−1。 当学生进入考场后,他必须坐在离最近的人最远的座位上。如果有多个…

Knife4j在Gateway下的URI优化以及热刷新

Knife4j在Gateway下的URI优化以及热刷新 契机 (遗留输出)最近在整理之前的笔记,逐渐梳理成文章输出到博客网站。之前在做Gateway集成knife4j的时候。发现uri的地址缺少了项目路径,也就是baseURI,本篇文章就是在处理这…

Kubernates

kubernates是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。 架构…

前端开发 之 12个鼠标交互特效下【附完整源码】

前端开发 之 12个鼠标交互特效下【附完整源码】 文章目录 前端开发 之 12个鼠标交互特效下【附完整源码】七:粒子烟花绽放特效1.效果展示2.HTML完整代码 八:彩球释放特效1.效果展示2.HTML完整代码 九:雨滴掉落特效1.效果展示2.HTML完整代码 十…

重生之我在异世界学编程之C语言:深入预处理篇(上)

大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 本文目录 引言正文一、预处理的作用与流程&#xf…

Android使用PorterDuffXfermode模式PorterDuff.Mode.SRC_OUT橡皮擦实现“刮刮乐”效果,Kotlin(2)

Android使用PorterDuffXfermode模式PorterDuff.Mode.SRC_OUT橡皮擦实现“刮刮乐”效果,Kotlin(2) 在 Android使用PorterDuffXfermode的模式PorterDuff.Mode.SRC_OUT实现橡皮擦,Kotlin(1)-CSDN博客文章浏览阅…

修改 `invite_codes` 表中 `code` 字段名为 `invite_code`

-- auto-generated definition create table invite_codes (id int auto_incrementprimary key,code varchar(6) not null comment 邀请码,6位整数,确保在有效期内…

Python + 深度学习从 0 到 1(01 / 99)

希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦 欢迎关注、订阅专栏 【深度学习从 0 到 1】谢谢你的支持! ⭐ 深度学习之前:机器学习简史 什么要了解…

路径规划之启发式算法之二十三:免疫算法(Immune Algorithm,IA)

免疫算法(Immune Algorithm,IA)是基于人工免疫系统的理论,受生物免疫系统的启发而推出的一种新型的智能搜索算法。通过模拟生物免疫系统的工作原理来解决优化问题。 一、定义与原理 免疫算法是以人工免疫系统的理论为基础,实现了类似于生物免疫系统的抗原识别、细胞分化、…

echarts画风向杆

1.安装echarts 2.引入echarts 4.获取数据,转换数据格式 windProfile.title.text ${moment(time.searchTime[0], ‘YYYY-MM-DD HH:mm:ss’).format( ‘YYYY-MM-DD HH:mm’ )}-${moment(time.searchTime[1], ‘YYYY-MM-DD HH:mm:ss’).format(‘YYYY-MM-DD HH:mm’)…

【落羽的落羽 C语言篇】自定义类型——结构体

文章目录 一、结构体1. 结构体类型的概念和声明2. 结构体变量的创建和初始化3. 结构体成员的访问3.1 直接访问3.2 间接访问 4. 结构体的内存对齐4.1 内存对齐的规则4.2 内存对齐的原因4.3 修改默认对齐数 5. 结构体传参6. 结构体实现位段 在C语言中,已经提供了一些基…