欢迎大家来到IT世界,在知识的湖畔探索吧!
weishu在日常开发过程中,adb shell的使用是非常频繁的;但是Android内置的shell功能简直太弱了,且不说 grep 、awk、find等命令,甚至连 cp 这种命令都不支持;我每次copy文件都只有这样:
cat file1 > file2
欢迎大家来到IT世界,在知识的湖畔探索吧!
如果想编辑手机里的某个文件,我真是想撞墙。。首先得adb pull下来,本地修改之后 ,然后adb push上去。。这种效率真是不能忍,多么希望有一个 vi 来拯救我啊!!
有童鞋说可以用busybox,这玩意儿在root手机上无可挑剔,完美满足我的需求;但是并不是所有的手机都可以root的,这之后就有点捉襟见肘了。Google Play商店上有一个 BusyBox Install (No Root)的应用,看似是解决了非root手机上的busybox使用的问题;但是它用起来极其不方便,这个shell还是手机上的terminal shell?!你特么在逗我?
这我怎么能忍?!自然是挽起袖子自己撸一个!!
为什么非root的手机对busybox支持不好呢?因为它的那些命令需要写入 /system/bin 这样的目录,而我们是没有权限写的。但是。。我们仅仅是需要执行一个命令而已,为什么需要把它放到系统的目录里面去呢?我们把busybox放在别的目录,然后导出环境变量,把它添加到path里面去不就行了么?
这样安装的问题就解决了,但是使用起来还是非常不方便。。由于我们的命令不在系统路径里面,而adb shell启动的又不是login shell,不会读取配置文件,我们只能在shell启动之后,先输入:
欢迎大家来到IT世界,在知识的湖畔探索吧!export PATH='/data/local/tmp/:$PATH'
才能享用busybox的强大功能;虽然已经好了很多,差强人意;但是作为一个完美主义者的我,怎么能接受每次adb shell之后又敲这么一段破玩意儿!!
因此接下来的问题是,能不能在启动shell之后自动输入一句话,然后再与我们进行交互?这不就是expect 的功能么?!无奈,expect在Windows下要单独安装,这下就不太好了哟。。于是我上PYPI一搜,果然有个pexpect,是一个python实现,于是接下来的事情就好办了嘛。。一不做二不休,分分钟撸完;代码在这里:
有了super-adb,你能干啥?在Android ADB shell上面,你可以用vi编译文件,享受grep、find、awk以及sed等等一系列方便好用的命令,甚至wget都有!!是不是迫不及待想要试试?哈哈 ^_& 最后给一张图你们感受下:
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/36462.html