早教吧 育儿知识 作业答案 考试题库 百科 知识分享

如何在android应用里执行adb命令希望写一个apk,该apk能执行一些adb命令,代码里如何实现?比如界面里有一个按钮,点了该按钮以后就执行adb命令,如何在click()里写这些adb命令在电脑上我执行adb

题目详情
如何在android应用里执行adb 命令
希望写一个apk,该apk能执行一些adb 命令,代码里如何实现?
比如界面里有一个按钮,点了该按钮以后就执行adb命令,如何在click()里写这些adb命令
在电脑上我执行
adb shell
insmod /system/lib/modules/wlan.ko
我现在需要在应用里也达到同样效果,但是
执行
proc = Runtime.getRuntime().exec(“insmod /system/lib/modules/wlan.ko”);
num = proc.waitFor();
num的返回值是255,也就是说没有执行成功,请问如何修改,是否是因为权限问题还是说缺少adb shell这样的类似操作?
▼优质解答
答案和解析
ADB接口的作用主要是让电脑等其它设备控制安卓系统的,所以,称为“中间桥”;
不是为安卓自已用的,自已可直接执行称为SHELL,这与ADB无关.
所以安卓JAVA不一定有封装的ADB类.电脑上有ADB服务程序,端口5037,
它是中间程序,与安卓系统上守护进程(Daemon)通讯.
如果要在自已的手机上应该也能执行adb命令,应该直接跟守护进程
(Daemon)通讯了.百度上可以搜到的方法并不满意.
 
楼主用exec执行CMD命令,这已不是ADB接口了,这是系统的SHELL了!
 
 自已用socket/tcp直接发命令效果不知怎样,地址用127.0.0.1, 安卓daemon进程的端口
5555  是奇数开始.
. .至于ADB对话协议百度可以搜到,建议试一试.
 
楼上其实要的是SHELL,并不是ADB,我搜到一篇文章,但我并没有试过,
是否需要ROOT,不得而知,附上,你试一试 ,回个话.