日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android USB 属性设置:ADB、RNDIS、MTP等

發布時間:2023/12/15 Android 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android USB 属性设置:ADB、RNDIS、MTP等 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android手機:三星s4 Android5.0 內核:3.4.5

手機需root,且需要安裝busybox和terminal

Ubuntu版本:14.04

------------------------------------------------------------

?

1. 命令

設置屬性:setprop persist.sys.usb.config

查看屬性:getprop persist.sys.usb.config,可查看當前手機USB功能角色(adb,mtp,rndis等)

persist.sys.usb.config 在 /data/property目錄下

?

?

2. 具體設置

1)打開adb功能:setprop persist.sys.usb.config adb

2)打開mtp功能:setprop persist.sys.usb.config mtp

3)同時打開adb和mtp:setprop persist.sys.usb.config adb,mtp

注:在設置某個功能的同時會將其它功能都關閉,

setprop persist.sys.usb.config adb 在打開adb功能的同時會將USB其它功能都關閉。

?

3. 打開rndis操作(USB網絡共享)

3.1 方法1,步驟:

1)手機使用USB線接入Ubuntu,打開手機 terminal,執行su

2)手機執行:setprop persist.sys.usb.config rndis 啟動rndis

3)手機執行:echo 0 > /sys/class/android_usb/android0/enable

echo 1 > /sys/class/android_usb/android0/enable

先關閉USB服務,再開啟,即重啟usb功能。

4)手機執行:busybox ifconfig -a 可發現新增rndis0網絡接口

5)Ubuntu執行:ifconfig 可發現新增usb0接口

6)手機執行:busybox ifconfig rndis0 111.111.111.111 up 啟用接口

7)Ubuntu執行:sudo ifconfig usb0 111.111.111.112 up

8)Ubuntu執行:ping 111.111.111.111 -c 3 ping成功

ok

3.2 方法2,步驟如下

手機端執行:

su

echo 0 > /sys/class/android_usb/android0/enable

echo rndis > /sys/class/android_usb/android0/functions

echo 1 > /sys/class/android_usb/android0/enable

busybox ifconfig rndis0 111.111.111.111 up

Ubuntu端執行:

同3.1步驟一致。

ping 測試,ok。

3.3 注:

1)配置成功后,插拔usb不需重新配置,Ubuntu能直接識別usb0接口,但需要重新up,手機端無需重新up。

2)打開其它USB功能步驟一致,如mtp,adb。

3)配置adb功能時,手機端需要再執行以下命令,重啟adb服務。

stop adbd

start adbd

?

4. 注:

1)USB功能配置的開機啟動腳本:/init.usb.rc

2)更改USB的某些功能后可能需要重啟才能生效,如將USB改為mtp功能

3)setprop persist.sys.usb.config rndis 操作最終會寫入 到/sys/class/android_usb/android0/functions,可以cat functions查看配置。

4)mtp功能:類似于u盤,一般Android手機都帶這個功能。

5)除了可以配置USB device的功能,還可以配置USB相關屬性,如VID,PID等,

?

往/sys/class/android_usb/android0/下的各個屬性寫入參數即可,然后重啟USB功能或重啟手機。配置的屬性手機重啟后會還原。

如修改PID:

echo 1111 > /sys/class/android_usb/android0/idProduct

echo 0 > /sys/class/android_usb/android0/enable

echo 1 > /sys/class/android_usb/android0/enable

?

6)華為Mate9配置rndis

由于未在 /sys/class/android_usb/android0/目錄下找到functions,所以mate9只能使用方法1進行配置。

adb shell下執行:setprop persist.sys.usb.config rndis,adb 啟動rndis和adb

手機shell(或adb shell)執行:ifconfig -a 可發現新增rndis0網絡接口

Ubuntu執行:ifconfig 可發現新增usb0接口

手機執行:ifconfig rndis0 111.111.111.111 up 啟用接口

Ubuntu執行:sudo ifconfig usb0 111.111.111.112 up

Ubuntu執行:ping 111.111.111.111 -c 3 ping成功

實測無需重啟usb功能即可正常被Ubuntu識別。

另外在CMD下也可以直接進入adb shell,無需再rndis和adb功能間切換,但一次只能使用一種功能。

?

7)Android下初始化腳本有類似的語句:

? ? on property:sys.usb.config=mtp,adb

? ? write /sys/class/android_usb/android0/enable 0

? ? write /sys/class/android_usb/android0/idVendor 18d1

? ? write /sys/class/android_usb/android0/idProduct 4ee2

? ? write /sys/class/android_usb/android0/functions ${sys.usb.config}

? ? write /sys/class/android_usb/android0/enable 1

? ? start adbd

? ? setprop sys.usb.state ${sys.usb.config}

?

?

總結

以上是生活随笔為你收集整理的Android USB 属性设置:ADB、RNDIS、MTP等的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。