我已经尝试了不同的方法:
- 已被Android弃用,因为它没有setUsbTethering方法。
- 已尝试此方法:
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
public void switchOnTethering() {
Object obj = getSystemService(Context.CONNECTIVITY_SERVICE);
for (Method m : obj.getClass().getDeclaredMethods()) {
if (m.getName().equals("tether")) {
try {
m.invoke(obj, "usb0");
} catch (IllegalArgumentException | IllegalAccessException | InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
- 尝试adb shell service call connectivity 30,31,32,33,34 i32 1命令
- 尝试
adb shell
su
echo "rndis" > /sys/class/android_usb/android0/functions
echo "1" > /sys/class/android_usb/android0/enable
- 尝试
- 唯一适合我的是Adb shell svc usb setFunctions rndis但它只在Android 11中工作
adb shell
su
netcfg rndis0 up
netcfg rndis0 dhcp
我需要为Android 7和更高版本制作它。如果有方法需要root,那没关系,因为我有root设备。
在Android 7.0中是adb shell svc usb setFunction rndis
你也可以试试adb shell setprop sys.usb.config rndis