在C#中访问安卓设备

3

我正在使用MAD-Bee(Managed ADB)库来在C#中访问ADB。我只是试图获取连接到PC的设备列表。当我从命令提示符使用ADB时,我可以正确地获取设备列表,但是在我的C#表单中却得到了0。
这是我尝试过的代码 -

    AndroidDebugBridge mADB;
    String mAdbPath;
    IList<Device> mDeviceList = null;
    public Form1()
    {
        InitializeComponent();
        mAdbPath = Environment.GetEnvironmentVariable("ANDROID_ROOT");
        mADB = AndroidDebugBridge.CreateBridge(mAdbPath + "\\platform-tools\\adb.exe", true);
        mADB.Start();

        var list = mADB.Devices;
        Console.WriteLine(""+list.Count);
    }

问题在于MAD-bee没有任何适当的文档或指南来开始使用它。有什么帮助吗?


1
我想指出,最终你所拥有的将会起作用。但是目前AndroidDebugBridge.Devices依赖于DeviceMonitor,而它在当前状态下并不可用。我已经将此作为一个问题进行了记录,并将更改为使用“当前工作方式”来获取设备列表。 - Ryan Conrad
感谢您将此作为问题发布。我很希望看到这个库得到进一步的开发。 - 0xC0DED00D
2个回答

4

抱歉,现在我找到了 -

List<Device> devices = AdbHelper.Instance.GetDevices ( AndroidDebugBridge.SocketAddress );

更多信息可以在这些测试中找到 -

MadBee测试


(注:本文已经是中文,无需翻译)

1
目前,测试是查找示例的最佳位置。我在这个项目上还有很多工作要做,但我只能利用空闲时间来处理它,而我的空闲时间并不多。我是唯一的活跃开发者,但“活跃”这个词用得不太准确。大部分功能应该都有测试。我碰巧看到了这个问题,否则我会回答它的。 - Ryan Conrad
我正在使用这个库为我的一个宠物项目制作一个Android开发工具。我自己对源代码进行了一些修改,一旦我能够适当地完善它们,我很乐意分享它们。感谢您的开发。你真棒 :-) - 0xC0DED00D
谢谢,我目前也在寻找一个C#库! - demo7up

3
我建议您在应用程序中使用另一个C#库。
我在XDA上找到了AndroidLib.dll,它提供了一种与我的C#应用程序进行接口的方法。
线程可以在此处找到:

http://forum.xda-developers.com/showthread.php?t=1512685

他在GITHUB上发布了源代码,其中包括示例项目和Visual Studio解决方案文件,可供学习,同时还提供详细的使用说明。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接