I have an .apk package that i want to push it into android emulator and run in emulator and then receive events and debug message to show to user with C# console program.
How should i connect to android emulator for receiving debug message from C# code console?
please help me. Thanks.
1 に答える
これは、どの程度の詳細が必要かによって異なります。logcat を表示したいだけですか、それとも完全なデバッグ情報 (ブレークポイントやデバイス統計など) を取得したいですか?
前者の場合:
adb (Android Debug Bridge) を使用できます。
ProcessStartInfo adbStart = new ProcessStartInfo(@"your_path\android-sdk\platform-tools\adb.exe", "-e logcat *:D");
adbStart.UseShellExecute = false;
Process adb = new Process() { StartInfo = adbStart };
adb.Start();
のコンストラクターの最初のパラメーターを、Android SDKadbStart
のフォルダーにある adb.exe へのパスに置き換えます。platform_tools
2 番目のパラメータはコンソール フラグです。上記のコードは、フラグを使用してエミュレーターにのみ接続するように adb を強制し、-e
フラグを使用してメッセージのみをデバッグするフィルターを強制します*:D
。*
をアプリに関連するフィルター (パッケージ名など) に置き換える必要があります。adb help
さまざまなフラグに関する情報については、コンソールに入力するだけです。
プログラムはコンソールで実行されるため、adb の標準出力はコンソールに送信する必要があります。そうでない場合は、StreamReader
atを使用しadb.StandardOutput
て adb の出力を読み取ります。adb.WaitForExit()
adb が終了するまでスレッドをブロックするために使用できます。
後者の場合:
これを行う公式の方法は、Dalvik Debug Monitor (android_sdk\tools\ddms.bat) を使用することです。Android には C# の公式サポートがないため、デバッグ モニターは Java で作成され、ライブラリも同様です。代わりが見つかりません、すみません。Java は C# に非常に似ていますが、この特定のプロジェクトの言語をジャンプできますか?