Androidフォンで設定->ワイヤレスとネットワークオプションに移動し、usbテザーオプションを確認すると、すぐに1つのネットワークデバイスrndis0が作成され、adb shell netcfgから確認できます
私は基本的に、このネットワークデバイスがどのように作成されるかを知りたいのですが、アプリケーションを設定して rndis0 インターフェイスを作成することによってどの API が呼び出されるのか
ありがとう
Androidフォンで設定->ワイヤレスとネットワークオプションに移動し、usbテザーオプションを確認すると、すぐに1つのネットワークデバイスrndis0が作成され、adb shell netcfgから確認できます
私は基本的に、このネットワークデバイスがどのように作成されるかを知りたいのですが、アプリケーションを設定して rndis0 インターフェイスを作成することによってどの API が呼び出されるのか
ありがとう
rndis0
は、テザリング用のNICとして使用する場合の USB ポートの名前です。これはおそらく、コンピューターと接続するときに使用するRNDISプロトコルにちなんで名付けられました。これをプログラムで変更するルート以外のメソッドを見つけることはできませんでした (したがって、API メソッドは見つかりませんでした)。また、これを変更できるルート以外のアプリも見つかりませんでした。
あなたの質問に適切に答えるには、直接的ではない方法で Android ネットワーク インターフェイスを操作するためのルート化された方法とルート化されていない方法の両方が存在するため、あなたが何をしようとしているのかを正確に知る必要があります。例を含むいくつかのリンクを以下に示します。
プログラムで USB テザリングのオン/オフを切り替える:
Android で USB または Wifi テザリングをプログラムで有効/無効に
する
プログラムでWIFIをオン/オフにする:
AndroidデバイスでプログラムでWiFiをオフにする方法?
root を持っていて、Linux ターミナルで手を汚してもかまわない場合は、手動で設定してみてください。ただし、2 つの主な問題は、1) 一部の Android カーネルでは主要な Linux 機能が単純に切り取られていること、および 2) いくつかのデフォルト機能を手動でインポートしたとしても (おそらくBusyboxなどのツールを使用して)、Android が常にすべての Linux ルールに従うとは限らないことです。通常のコンピューターと同じように。たとえば、S2 の DHCP 範囲を設定しようとしたことがあります (Linux ベースのコンピューターのさまざまなディストリビューションで簡単に行ったことです) が、どんなに頑張っても、電話は私のルールに従うことを拒否しました。一方で、iptables のようなツールで失敗したことは一度もありません。
便利な Linux リンク:
ArchWiki - 私が学んだすべての Linux (Ubuntu、CentOS、Arch Linux、いくつかの Android、バニラ Linux..) の 90% はここから来ました。多くの場合、それらのディストリビューション自体よりも詳細に他のディストリビューションをカバーしています。
iptables、iptables、さらに iptables..
一般的なネットワーク構成、IP ルーティング、その他のルーティング..
Android はその機能の一部しか実装していないため、上記のリンクの一部の情報の多くは Android には適用されないことに注意してください。ただし、読む価値があることは間違いありません。
それが役立つことを願っています。