一、安裝虛擬串口軟體 虛擬串口軟體推薦 Virtual Serial Port Driver 官網 和 Virtual Serial Port Kit 官網 都可以免費試用15天。 這裡以Virtual Serial Port Kit為例,打開安裝好的Virtual Serial Port Kit, ...
一、安裝虛擬串口軟體
虛擬串口軟體推薦 Virtual Serial Port Driver 官網 和 Virtual Serial Port Kit 官網 都可以免費試用15天。
這裡以Virtual Serial Port Kit為例,打開安裝好的Virtual Serial Port Kit,點擊菜單欄的新增圖標
然後選擇兩個埠點確定即可
1.1 測試虛擬串口是否正常工作
為了測試虛擬串口設備是否能正常工作,我們可以使用串口調試助手進行測試,這裡以 友善串口調試助手 為例
運行兩個調試助手,埠選擇與上圖對應,其他配置需要一致,測試數據的收發是否正常。
二、AndroidStudio 模擬器掛載串口
先說結論,不推薦使用AndroidStudio自帶的模擬器進行串口調試,因為實際測試中發現,當模擬器接收超過8位元組的數據後會卡死閃退...
一開始以為是代碼哪裡寫的有問題,其實是谷歌官方的bug。
2.1 Android模擬器安裝
從Android5.0之後,模擬器就預設沒有root許可權了,所以我們要安裝一個帶root許可權的模擬器,在創建模擬器選擇鏡像的時候,選擇名稱中不帶Google APIs的即可
2.2 映射串口到模擬器
首先進入AndroidSDK下的tools目錄
Win + R 運行cmd 轉到AndroidSDK下的tools目錄,然後通過命令行方式啟動模擬器
.\emulator.exe -avd 模擬器名稱 -writable-system -qemu -serial 創建的虛擬串口設備埠
例如:.\emulator.exe -avd Nexus_10_API_30 -writable-system -qemu -serial COM4
可以將以下代碼複製到文本文件中保存,並修改尾碼名為.cmd,以後雙擊即可啟動
註意修改為自己電腦上的對應路徑和盤符!!!
註意修改為自己電腦上的對應路徑和盤符!!!
註意修改為自己電腦上的對應路徑和盤符!!!
D:
cd D:\Android\android-sdk\tools
.\emulator.exe -avd Nexus_10_API_30 -writable-system -qemu -serial COM4
沒有問題的話就會出現以下對話框,按自己的需求選擇
成功啟動後的模擬器
2.2 打開模擬器串口許可權
映射成功後,打開串口可能會報SecurityException異常,這是因為沒有讀寫許可權,安裝帶root的模擬器也是為了這一步。
這裡以 /dev/ttyS0為例
執行以下命令
.\adb.exe root
.\adb.exe shell
setenforce 0
chmod 666 /dev/ttyS0
設置完成之後即可收發數據
三、Genymotion模擬器掛載串口
3.1 安裝Genymotion模擬器
Genymotion下載,選擇帶VirtualBox版本安裝,一路下一步即可完成安裝。
完成安裝後打開軟體,點擊+號圖標添加一個模擬器,預設設置即可
3.2 映射串口
打開Oracle VM VirtualBox 選中剛纔創建的模擬器,點擊設置,如果已經啟動了模擬器,需要先關閉。
切換到串口設置,有4個埠 我們啟用第一個
埠編號:COM1~COM4 分別對應/dev/ttyS0 ~ /dev/ttyS3,如果在應用中操作的是ttyS0,這裡的埠編號應該選擇COM1,
一定要對應,不然打開串口的時候還是會報SecurityException異常。
埠模式:選擇主機設備
路徑/地址 :輸入在虛擬串口軟體中設置的埠 ,比如COM1
點擊確定即可完成映射,如果遇到許可權拒絕,參考2.2 臨時關閉防火牆 修改串口的可讀寫許可權