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.
问问题
2572 次
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 文件夹中的adbStart
adb.exe 的路径。platform_tools
第二个参数是控制台标志。上面的代码强制 adb 仅使用该标志连接到模拟器-e
,过滤器仅使用该标志来调试消息*:D
。您应该将 替换*
为您的应用程序的相关过滤器(如包名称)。只需adb help
在控制台中输入不同标志的信息。
由于您的程序在控制台中运行,因此 adb 的标准输出应该被定向到您的控制台。如果不是,请使用StreamReader
atadb.StandardOutput
读取 adb 的输出。您可以使用adb.WaitForExit()
阻塞线程直到 adb 死亡。
在后者的情况下:
执行此操作的官方方法是通过 Dalvik 调试监视器 (android_sdk\tools\ddms.bat)。由于 android 中没有对 C# 的官方支持,因此调试监视器是用 Java 编写的,libs 也是如此。我找不到任何替代品,抱歉。Java 与 C# 非常相似,也许您可以为这个特定项目跳转语言?
于 2013-08-08T15:12:49.123 回答