2013-07-25 15 views
5

ADBは、サーバー部分とクライアント部分に分割され、詳細はhereで説明されているTCPプロトコルを使用して互いに通信します。純粋なjava adbクライアント

純粋なJava ADBクライアントはありますか? Packet ManagerやActivity ManagerをjUnitやTestNGのテストケースから起動したい場合などに便利です。

主要な開発プラットフォーム上にadbコマンドラインクライアントバイナリがありますが、純粋なJava実装のadbクライアントがあります。

+0

あなたはどんな利点を正確に探していますか? –

+0

実際には、私はdevマシンからUiAutomatorテストを実行したいと思います。しかし、このようなクライアントライブラリの有用性は、はるかに広範な用途を持つべきです。 pura Javaクライアントは本質的にクロスプラットフォームであり、ネイティブコマンドラインツールadbと比較して全体的にスムーズです。 – vidstige

+0

私はあなたが何を意味するか知っています、私はまったく同じ問題を抱えていますが、私はPythonを使用しています。プロトコルはhttps://android.googlesource.com/platform/system/core/+/master/adb/SERVICES.TXTに記述されていますが、私はいくつかのプロジェクトを見つけました...純粋なJavaクライアントを探してあなたを質問はここにあるので、私は答えが "実際に"あなた自身がそれをしない限りはないと思う。 – codeScriber

答えて

3

私は小さなJavaプロジェクトを作成したファイルを送信するなど、adbクライアントが何をするかの部品ほとんどを実装しjadb利用可能hereと呼ばれます。 adbサーバー(adbバイナリ)

+0

これは興味深いと思います。どのライセンスの下でこれをリリースしましたか(現時点ではリポジトリに存在しないようです)? – Bruno

+0

@Bruno Apache 2.0ライセンスのもとでリリースします。これは、Androidオープンソースプロジェクトが公開されているライセンスでもあります。 jadbプロジェクトはAOSPに基づいているので、これは理にかなっています。また、このライセンスは通常、企業やその他のオープンソースプロジェクトに最適です。お役に立てれば。 – vidstige

+0

あなたのlibはソケットを使って同じ 'adb'バイナリの一部である' adb'サーバに接続しています。したがって、サーバー部分を再実装するまで( 'USB'トランスポートの処理を含む)、あなたのコードはネイティブ' adb'を必要とします。 –

関連する問題