Python+ADB 自動化獲取手機信息(二)

python+ADB 操作參考 http://www.lxweimin.com/p/c3f27fd81955

細化思路分析

  • 使用兩臺手機連上電腦,在cmd終端查看adb devices
  • 使用python調取ADB-獲取手機品牌、信息、手機型號、Android版本、分辨率信息
  • 封裝ADB命令腳本
  • 所有的設備信息合并成列表

優化代碼參考

獲取設備信息,返回唯一值devices_id

    '''獲取設備信息,返回唯一值devices_id'''
    device_id_list = []
    devices = subprocess.check_output('adb devices').decode().strip().split("\r\n")
    for i in range(1, len(devices)):
        udid = devices[i].split('\t')[0]
        device_id = {'device': udid}
        device_id_list.append(device_id)
    return device_id_list

def get_devices_id():
    '''返回唯一值devices_id'''
    deviceid = get_devices()
    devices_id = []
    for id in deviceid:
        device_id = id['device']
        devices_id.append(device_id)
    return devices_id

獲取手機品牌信息

def get_devices_brand():
    '''獲取手機品牌信息'''
    devices_id = get_devices_id()
    brand_list = []
    for i in devices_id:
        brand = subprocess.check_output('adb -s ' + i + ' shell getprop ro.product.brand').decode().strip()
        device_brand = {'device_brand': brand}
        brand_list.append(device_brand)
    return brand_list

獲取手機型號信息

def get_devices_model():
    '''獲取手機型號信息'''
    devices_id = get_devices_id()
    model_list = []
    for i in devices_id:
        model = subprocess.check_output('adb -s ' + i + ' shell getprop ro.product.model').decode().strip()
        device_model = {'device_model': model}
        model_list.append(device_model)
    return model_list

獲取Android版本信息

def get_devices_version():
    '''獲取Android版本信息'''
    devices_id = get_devices_id()
    version_list = []
    for i in devices_id:
        version = subprocess.check_output('adb -s ' + i + ' shell getprop ro.build.version.release').decode().strip()
        device_version = {'device_version': version}
        version_list.append(device_version)
    return version_list

獲取分辨率信息

def get_devices_wmsize():
    '''獲取分辨率信息'''
    devices_id = get_devices_id()
    wmsize_list = []
    for i in devices_id:
        wmsize = subprocess.check_output('adb -s ' + i + ' shell wm size').decode().strip()
        device_wmsize = {'device_wmsize': wmsize}
        wmsize_list.append(device_wmsize)
    return wmsize_list

所有的設備信息組成列表

def get_devices_info():
    '''所有的設備信息組成列表'''
    devices_list_info = get_devices() + get_devices_brand() + get_devices_model() + get_devices_version() + get_devices_wmsize()
    return devices_list_info

運行結果

打印結果.jpg
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容