使用python代碼執行adb命令


1.統計app 啟動時間使用命令

  *:獲取app包名和啟動頁名稱可查看  常用的adb命令

import subprocess

class AppStart:
    def __init__(self,package_name,activity_name):
        """
        :param package_name: app的包名
        :param activity_name: 啟動頁的名稱
        """
        self.start_app_cmd = f'adb shell am start -W {package_name}/{activity_name}'
        self.stop_app_cmd = f'adb shell am force-stop {package_name}'

    def start_cmd(self,cmd):
        """
        執行命令
        :param cmd:
        :return:
        """
        proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
        return proc.stdout.readlines()

    def start_app(self):
        """
        啟動app
        :return:
        """
        lines = self.start_cmd(self.start_app_cmd)
        for line in lines:
            # bytes -> str
            result = line.decode(encoding='utf8')
            if "ThisTime" in result:
                # 對字符串進行分割處理提取出啟動時間
                appstart_time = result.strip().split(":")[-1].strip()
                return appstart_time


    def stop_app(self):
        """
        執行關閉app命令
        :return:
        """
        self.start_cmd(self.stop_app_cmd)



if __name__ == '__main__':
    app = AppStart('org.cnodejs.android.md','.ui.activity.LaunchActivity')
    for i in range(10):
        app.stop_app()
        result = app.start_app()
        print(result)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM