python 与ADB shell交互

python交互

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

# coding:utf-8
# 这个脚本用于使环境拥有busybox的环境
import subprocess

import os
print "开始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 code
print "安装结束"

杀掉相应的进程

# coding:utf-8
# 这个脚本是用来杀掉music的进程的
import os
import string
import subprocess
def kill(result):
    print result.strip()
    code = os.system(" adb shell kill " + result.strip())
    print code

processname = 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 code

pipe = 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 result
result = pipe.stdout.readline()
result1 = pipe.stdout.readline()
result2 = pipe.stdout.readline()
print result
kill(result)
print result1
kill(result1)
print result2
kill(result2)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值