Python中關閉adb命令

2021-10-25 09:01:02 字數 1010 閱讀 4904

python獲取android應用日誌的時候,通過採用adb的方式,但是常規在cmd裡面執行的命令,執行完就結束了,但是假如獲取日誌這種,是一直在後台執行的這種命令,這種假如通過如下執行方式,

os.popen(

"adb --version"

)

即使關閉程式,adb也是一直在後台進行獲取

因為python獲取應用日誌的時候, adb 開啟的是後台程序, 所以不能被 terminate 或者 kill 掉 ,故採用如下方法開啟adb即可

handle = subprocess.popen(

"adb -d logcat log.txt"

, shell=

true

)time.sleep(10)

subprocess.popen(

"taskkill /f /t /pid "

+str

(handle.pid)

, shell=

true

)

os模組呼叫cmd命令有兩種方式:os.popen(),os.system(). 都是用當前程序來呼叫。

os.system(

"ipconfig"

)

device = os.popen(

"adb --version"

)print

(device.read(

))

得到的是個字串,這兩個都是用當前程序來呼叫,也就是說它們都是阻塞式的。

執行原理會在當前程序下面產生子程序。

sub=subprocess.popen(cmd,shell=

true

,stdout=subprocess.pipe)

sub.wait(

)print sub.read(

)

adb 啟動 關閉app

傳送如下命令 adb shell am start n 包名 activity名 包名與activity名,可以通過如下命令獲取到 aapt dump badging 11.apk 一般返回如下 package name com.tencent.android.qq launchable activ...

Python操作adb命令指令碼

import osimport datetime date1 datetime.datetime.now strftime y m d date2 datetime.datetime.now strftime h m s adb dic defadb cmd k adb adb dic k os.s...

QT程式中執行adb命令

qt的應用程式,如果想要執行adb命令,前提是要有adb.exe,我一般是將adb.exe放到qt應用程式同級目錄下,然後使用下列 執行命令 qprocess p 0 p.setworkingdirectory 指定程序的工作目錄 qstring command adb.exe qstringlis...