python 与ADB shell交互

来源:互联网 发布:sql server 创建表语句 编辑:程序博客网 时间:2024/06/05 06:29

python交互

使用subprocess
使设备具有部分Linux命令
python脚本:下载busybox,并且放在与脚本相同的目录下

# coding:utf-8# 这个脚本用于使环境拥有busybox的环境import subprocessimport osprint "开始push文件"os.system(" adb push busybox /system/xbin/")print "开始root"os.system("adb root")print "开始remote"os.system("adb remount")#这里面的命令全部都会在Linux的环境下执行,最后需要退出。cmds = [    "chmod  755 /system/xbin/busybox",    "cd /system/xbin/",    "busybox --install .",    "awk",    "ps |grep com.txznet.music|awk '{print $2}' | head -n 1",    "exit",#这是是非常关键的,退出]print "开始安装"pipe = subprocess.Popen("adb shell", stdin=subprocess.PIPE, stdout=subprocess.PIPE)code = pipe.communicate("\n".join(cmds) + "\n");print codeprint "安装结束"

杀掉相应的进程

# coding:utf-8# 这个脚本是用来杀掉music的进程的import osimport stringimport subprocessdef kill(result):    print result.strip()    code = os.system(" adb shell kill " + result.strip())    print codeprocessname = os.system('''adb shell ps|grep com.txznet.music|awk '{print$2","}''''')# print processname# result="["+str(processname)+"]"# print result# for processID in result:#     print processID.strip()#     code=os.system(" adb shell kill "+processID.strip())#     print codepipe = subprocess.Popen("adb shell ps|grep com.txznet.music|awk '{print$2}'", stdin=subprocess.PIPE,                        stdout=subprocess.PIPE)# result=pipe.communicate("ps|grep com.txznet.music|awk '{print$2","}'")# print resultresult = pipe.stdout.readline()result1 = pipe.stdout.readline()result2 = pipe.stdout.readline()print resultkill(result)print result1kill(result1)print result2kill(result2)
0 0
原创粉丝点击