当我们去设置 - >无线& Android手机中的网络选项并检查usb tether选项,然后立即创建一个网络设备rndis0,我们可以从adb shell netcfg看到
我基本上想知道如何创建这个网络设备,通过设置应用程序来创建rndis0接口来调用api
由于
答案 0 :(得分:3)
rndis0
是用作绑定NIC时USB端口的名称。它可能以RNDIS协议命名,它在与计算机连接时使用。我从来没有能够找到以编程方式修改此方法的非root方法(因此从未找到任何API方法),也没有找到任何可以修改它的非root应用程序。
为了正确回答您的问题,我需要知道完全您要尝试做什么,因为存在用于处理Android网络接口的有根和无根方法直接的方式;下面列出了一些包含示例的链接。
以编程方式打开/关闭USB网络共享:
Enable/Disable USB or Wifi tethering programmatically on android
Start / stop built-in Wi-Fi / USB tethering from code?
以编程方式打开/关闭WIFI:
How to programmatically turn off WiFi on Android device?
如果你有root并且不介意用Linux终端弄脏,你可以尝试手动设置它。但是,你的两个主要问题是:1)一些Android内核只是简单地删除了主要Linux功能; 2)即使你手动导入一些默认功能(也许借助Busybox等工具)Android并不总是如此按照普通计算机的方式遵循所有Linux规则。例如,我曾尝试设置我的S2的DHCP范围(我在基于Linux的计算机上轻松完成了各种发行版),但无论我怎么努力,手机都拒绝遵循我的规则。另一方面,像iptables这样的工具从未让我失望过。
一些有用的Linux链接:
ArchWiki - 我学到的所有Linux(Ubuntu,CentOS,Arch Linux,一些Android,vanilla Linux ......)的90%来自这里。他们经常报道其他发行版的详细信息,而不是那些发行版本身。
iptables,iptables,more iptables..
General network configuration,ip routing,more routing..
请注意,上述某些链接中的大部分信息都不适用于Android,因为Android只实现了部分功能。不过,这绝对值得一读。
希望有所帮助。