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...