2011-07-20 34 views
7

私は以前のadbを使って、wifi、usb経由でAndroidアプリケーションをデバッグしていました。Bluetooth経由のAndroidデバッグ

現在、私はBluetoothを介して携帯電話とadbを接続することが可能かどうか疑問に思っています。 私はすばやい調査をしましたが、何も見つかりませんでした。既に試しましたか?

答えて

4

これは現行のadbソフトウェアではサポートされていませんが、adbを変更するか、またはブルートゥースを使用してチャネルをトンネリングしてルートデバイスを使用している可能性がありますtcpなどのサポートを行います。

adbプログラムのソースを取得する必要があります。同じソースを使用して、PCとデバイスの両方のバージョンをビルドします。最初のステップは、修正されていない機能を使ってビルドすることです。完全なアンドロイドソースビルドの一部として行う場合を除いて、かなりの量のビルドシステムの変更が必要になる可能性があります(完了しようとしたやり方)

これを変更してオプションとしてBluetoothチャンネルを追加し、デバイスにインストールします(ルートが必要な理由)。また、PCのパスにインストールします。あなたはPC上の別の場所から実行できると思いますが、コマンドラインから使用している間は可能ですが、DDMSを起動すると、実行中のadbサーバーを強制終了して新しいサーバーを起動する可能性がありますパスのデフォルトを使用しているので、最終的にはあなたの変更されたバージョンをそこに置く必要があります。

あなたのデバイスがtcp(おそらく場合によっては可能かもしれない)でadb接続を受け入れることがすでにできている場合は、ADBを変更しない(または少なくともデバイスを変更しない)一方、Bluetooth接続を受け入れ、ローカルループバックを介してトラフィックを在庫ADBが動作しているTCPポートに転送するデバイス上で動作している何かが発生します。これにより、adbを再構築する手間が省けます。

テザリングまたは類似のネットワークオーバーBluetoothソリューションがある場合は、コードを書き込まずにadb-over-tcp-over-bluetoothを伝送することさえ可能です。

最後に、adbデーモンがより特権のあるユーザーIDとして実行されるか、公式のものに代わってインストールされることは必須ではないことに注意してください。通常のアプリケーションとしてadbデーモンを実行し、それを持つもの。しかし、どのadbデーモンが最初に実行されていても、unixドメインのJavaデバッグソケットを取得するので、そのadbデーモンだけが完全なJavaデバッグサービスを提供することができます。デバッグソケットを要求できない場合、adbデーモンが終了しない(変更が必要な場合がある)場合、logcat、shell、実行中のプロセスリスト、プッシュ/プルなどのより初期的なものは、これがなければ少なくとも部分的に動作します。公式のadbデーモンを終了して競合状態を悪用することができれば、再起動する前に非公式のものを起動させることができるかもしれません - これを行うスクリプトやプログラムが必要で、公式adbからのsetsid最初にUSB経由で接続する必要があります。その時点で、非公式のadbデーモンを公式のものと同じユーザーIDとして実行することもできます。

実際にこれを設定するために多くの時間を費やす前に、パフォーマンス(スピード)が満足できるかどうかを見積もり、テストすることができます。

1

これはちょっと古いと知っていますが、私はこれを行う投稿を見つけたようです。すべてのクレジットは、これを見つけて情報を利用できるようにするため、fomori.orgの著者に送られます。今日はそれが私を助けました、明日私はあなたを見つけるのをより容易にすることによってあなたを助けるでしょう。限りソースはSOあなたが答えに関連する部分をコピーする必要の外部にあるよう

Source

+4

。あなたのソースリンクが壊れています(私にとっては少なくとも)、あなたの答えは役に立たなくなりました。あなたはまだあなたのソースをリンクし、もちろん信用を与えるように勧められますが、リンクを変更したりコンテンツを削除したりしないようサードパーティに依存しない方がずっと便利です。 – Thor84no

関連する問題