python3 控制安卓手機的飛行模式遇到的問題匯總


一、首先調通電腦對手機能落實 adb shell命令

驗證通過標准:控制wifi開關的命令,能讓wifi功能開啟和關閉 (adb shell svc wifi enable   和   adb shell svc wifi disable)

1、電腦沒有ADB命令行,華為手機的管理程序里面也沒有了adb,需要在網上下載一個adb kits套件 http://adbshell.com/downloads

       adb程序放置的目錄,要在系統環境變量里面添加,不然windows的cmd下 會無法找到adb命令

2、手機usb連到電腦,adb shell命令運行失敗,提示 device not found , 原因是華為手機沒有開啟開發者模式,並允許usb調試

      在手機》設置》系統》關於手機》版本號 條目上,連續單擊10次,提示你已經開啟開發者模式

      退到上一級目錄: 設置》系統》開發人員選項  中將usb調試打開,授權電腦可以控制這部手機,允許充電模式下 ADB調試

      這時候才能運行adb shell 。每次調試命令,遇到錯誤提示,建議在任務管理器里面 找到 adb 程序,kill掉;保證每次調試adb shell 都是干凈的系統環境

      異常1:如果電腦-》設備管理里面 ADB interface是異常狀態,還需要安裝華為手機助手  來修復此驅動 https://consumer.huawei.com/cn/support/hisuite/    。adb shell命令運行時,手機會彈出授權此電腦的提示,確認即可。

3、電腦調試通過adb shell命令,可以控制手機wifi的開啟和關閉,開始調測python對cmd命令支持 (使用PyCharm作為python的IDE環境)

 

import os

# air plane run
cmd = 'adb shell settings put global airplane_mode_on 1'
os.popen(cmd)
cmd1 = 'adb shell am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false'
os.popen(cmd)

# air plane off
cmd = 'adb shell settings put global airplane_mode_on 0'
os.popen(cmd)
cmd1 = 'adb shell am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false'
os.popen(cmd)


運行后在PyCharm發現控制台出現亂碼��� ,無法知道出什么錯誤提示
控制台使用的應該是GBK編碼,在PyCharm的,File》Setting》Editor》File Encodings中,設置Global Encoding 也為GBK(以前是UTF-8)就能看到錯誤提示為:【adb 不是內部或外部命令】
注:文件編碼全部設置為UTF-8,還是亂碼
PyCharm不識別windows 的CMD下的path,只認識自己的path,所以臨時方案,我把adb相關程序放在了 D:\Program Files\Python\Python36  ,這樣Python就能找到這個目錄下的可執行程序adb了
最后觀察到在,Python3能通過adb shell命令控制手機的多種行為


免責聲明!

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



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