Android执⾏shell命令⾮root
⼀个开源的项⽬已经完成了这个功能
app_process-shell-use,这个项⽬⽹上讲解的,很多,我这边就把操作时⼀些简要步骤说明⼀下
但是该⽅式有缺点:必须要先USB连接,debug的时候,运⾏第13步,
断开USB ⽆法再通过Socket运⾏adb shell命令
国内github⼜访问不了了,我就在gitee上随便了个⼀样的项⽬,
步骤如下:
1. Android Studio 新增⼀个没有Activity的项⽬
2. 新建package shellService
3. 将路径中四个⽂件都copy到新建的package下
4. java ->项⽬包名 ->copyMainActivity,
同路径下,copy⼯具类
5. res -> layout copy布局
6. ⽂件清单修改,copy应⽤⼊⼝,及默认权限
7.连上设备 debug运⾏
8. 在项⽬名称\\app\build\outputs\apk\debug\下存在debug APK,将其解压,将解压后⽂件夹内的classes.dex copy到与debug APK同级的路径下
cd app\build\outputs\apk\debug\
9. Android Studio 底部terminal窗⼝,默认在当前项⽬下,cd app\build\outputs\apk\debug
10. adb push classes.dex /data/local/tmp
11.adb shell
12.cd /data/local/tmp
13. app_process -Djava.class.path=/data/local/tmp/classes.dex /system/bin shellService.Main
⾄此,执⾏shell命令的socket服务开启,
打印内容如下:
>>>>>>Shell服务端程序被调⽤<<<<<<
服务端运⾏在4521端⼝
shell代码在设备运⾏的初始页⾯中,输⼊要执⾏的命令(如命令前带有abd shell,可将其去掉),点击执⾏即可
⾄此完成
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论