Android模擬器調試串口

来源:https://www.cnblogs.com/komine/archive/2023/04/03/17283571.html
-Advertisement-
Play Games

一、安裝虛擬串口軟體 虛擬串口軟體推薦 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 臨時關閉防火牆 修改串口的可讀寫許可權


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Neovim 風評很好,我機器上其實早裝了它來替代 vim。只不過這兩年用 vscode 較多,冷落了它,除了偶爾改改配置文件,很少用。難得大過年的有點兒空,就來倒騰它一下子,最終效果如下。 基礎配置 從 0.5 版開始,Neovim 允許使用 Lua 代替 VimL 作為配置語言,所以這裡也直接從 ...
  • win10計劃任務程式庫可以實現按照規則頻率執行腳本的功能。現在將設置方法記錄如下: 創建任務步驟 1、右鍵點擊我的電腦,選擇管理,依次點擊:系統工具-》任務計劃程式-》任務計劃程式庫。 2、點擊最右側操作中的創建基本任務,打開下麵的彈窗。 3、創建任務的基本信息,下一步選擇任務執行的頻率和開始時間 ...
  • 1. 特點 1.1. 將多行數據作為整體來表達高級的條件 1.2. 使用關聯子查詢時性能仍然非常好 1.3. EXISTS的參數不像是單一值 1.3.1. 參數是行數據的集合 2. 什麼是謂詞 2.1. 一種特殊的函數,返回值是真值 2.2. 返回值都是true、false或者unknown 2.2 ...
  • 一、DDL概念 DDL(Data Definition Language)語言:數據定義語言,用來定義資料庫對象,如資料庫、數據表和數據欄位,主要是進行定義/改變表的結構、數據類型、表之間的鏈接等操作。常用的語句關鍵字有 CREATE、DROP、ALTER 等。 二、資料庫操作 2.1、linux環 ...
  • 軟體下載地址:(如果連接失效,請公眾號內私聊獲取) 鏈接:https://pan.baidu.com/s/10KQ0-N9iYz5PDdaNBWqHVA 提取碼:1234 解壓後如下: 勾選項如下: 破解和漢化操作步驟: 1、軟體已經正確安裝,首次啟動如圖,先點擊試用: 2、啟動會讓你選擇一個主題, ...
  • 1. 為什麼使用索引 索引是存儲引擎用於快速找到數據記錄的一種數據結構,就好比一本教科書的目錄部分,通過目錄中找到對應文章的頁碼,便可快速定位到需要的文章。MySQL中也是一樣的道理,進行數據查找時,首先查看查詢條件是否命中某條索引,符合則通過索引查找相關數據,如果不符合則需要全表掃描,即需要一條一 ...
  • 摘要:華為雲資料庫解決方案架構師章哲在由先進數通與華為聯合開展的“7+1”系列銀行業數字化轉型實踐交流活動上圍繞華為雲GaussDB多年來的技術探索和應用實踐進行了分享。 近日,由先進數通與華為聯合開展的“7+1”系列銀行業數字化轉型實踐交流活動北京站圓滿落幕。活動匯聚金融科技先鋒企業、金融行業專家 ...
  • 1. SQL的弱點 1.1. SQL語句的執行結果轉換為想要的格式 1.1.1. 格式轉換 1.1.2. SQL語言本來就不是為了這個目的而出現的 1.1.3. SQL終究也只是主要用於查詢數據的語言而已 1.2. 生成報表的功能 1.2.1. 視窗函數 1.3. SQL不是用來生成報表的語言,所以 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...