1

API リファレンスで USB テザリングを有効にするクラス/メソッドを検索しましたが、何も見つかりませんでした。まだ可能なのかな。

情報については、ルート化された HTC Wildfire を Cyanogenmod 7 と Android 2.3.7 で使用しています。

それが不可能な場合は、Java サンプル コードでそれを行うことに興味があります。

4

2 に答える 2

1

ルートを有効にしている場合は、SL4AまたはAndroidを使用して実行してみてください。私はこのスクリプトを使用します:

#!/system/bin/sh
iptables -D droidwall-3g -m owner --uid-owner 0 -j RETURN
iptables -I droidwall-3g -m owner --uid-owner 0 -j RETURN
iptables -t nat -D POSTROUTING -o rmnet0 -j MASQUERADE
iptables -t nat -I POSTROUTING -o rmnet0 -j MASQUERADE
echo 1 > /sys/class/usb_composite/rndis/enable
ifconfig usb0 192.168.42.129 up
echo 1 > /proc/sys/net/ipv4/conf/usb0/forwarding
echo 1 > /proc/sys/net/ipv4/conf/rmnet0/forwarding

たぶん他のデバイス(私のものはSE Xperia X10)の場合、のようなものを調整する必要があります/sys/class/usb_composite/rndis/enable

于 2012-11-15T17:00:59.803 に答える
1

組み込みの API を使用していない (確認済み)。これは単にノーを意味するだけであり、少しの作業をしたくない場合ではありません。

ただし、Beanshell、JRuby、または Rhino を使用している場合は、SL4A FAQ (「API ブリッジ?」の質問)に従って、「Java 呼び出しを直接呼び出すことができます」 、 「これらのインタープリターのドキュメントを参照する」ことを提案しています。そうです(見つけられませんでしたが)。ただし、非公式リリースページには、次のように記載されています。

「Beanshell と Rhino は両方とも Android API に直接アクセスできます。ただし、多くの Android API 呼び出しにはコンテキストが必要でしたが、実行方法が原因で、これらのインタープリターにはコンテキストがありません。解決策が求められています...提案を歓迎します。 "

そして、この回答Contextに従って、間違っているかもしれませんが、aが必要だと思います。

最後に、最後のオプションは、使用しているインタープリターのソース コードを複製し、必要な呼び出しを追加することです。FAQ を再度引用します。「RPC レイヤーは拡張が容易です。」そして、そのための簡単なウォークスルーさえあります。

幸運を!

于 2012-11-05T10:56:50.710 に答える