首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android USB 調試模式下與 PC 通信:Socket 方案優於 ADB 轉發

     編輯:程式設計疑難解答

需求

PC 輸入字符串 → USB → Android App 即時顯示。

方案對比

方案優點缺點
ADB forward + Socket無需 Root,穩定需啟用 USB 調試,手動執行 adb 指令
USB Host/Accessory API正規通道需硬件支持,開發複雜
網絡 Socket (WiFi/熱點)開發調試最方便需同一局域網

推薦實現(ADB + Socket)

  1. PC 執行 adb forward tcp:8888 tcp:8888
  2. Android 啟動 ServerSocket 監聽 8888 端口
  3. PC 客戶端連接 127.0.0.1:8888 發送數據
// Android 服務端線程
new Thread(() -> {
    try (ServerSocket ss = new ServerSocket(8888)) {
        while (true) {
            Socket s = ss.accept();
            BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
            String msg = in.readLine();
            runOnUiThread(() -> textView.setText(msg));
        }
    } catch (IOException e) { e.printStackTrace(); }
}).start();

生產環境

建議走局域網 Socket 或 MQTT/HTTP 長連接,不依賴 ADB。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved