0

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.

4

1 回答 1

2

这取决于你想要多少细节。您是否只想查看 logcat 或获取完整的调试信息(如断点和设备统计信息)?

在前者的情况下:

您可以使用 adb(Android 调试桥):

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 SDK 文件夹中的adbStartadb.exe 的路径。platform_tools第二个参数是控制台标志。上面的代码强制 adb 仅使用该标志连接到模拟器-e,过滤器仅使用该标志来调试消息*:D。您应该将 替换*为您的应用程序的相关过滤器(如包名称)。只需adb help在控制台中输入不同标志的信息。

由于您的程序在控制台中运行,因此 adb 的标准输出应该被定向到您的控制台。如果不是,请使用StreamReaderatadb.StandardOutput读取 adb 的输出。您可以使用adb.WaitForExit()阻塞线程直到 adb 死亡。

在后者的情况下:

执行此操作的官方方法是通过 Dalvik 调试监视器 (android_sdk\tools\ddms.bat)。由于 android 中没有对 C# 的官方支持,因此调试监视器是用 Java 编写的,libs 也是如此。我找不到任何替代品,抱歉。Java 与 C# 非常相似,也许您可​​以为这个特定项目跳转语言?

于 2013-08-08T15:12:49.123 回答