gpt4 book ai didi

android - 适用于 Android 的 Upnp native 扩展 - AIR

转载 作者:行者123 更新时间:2023-11-29 21:13:17 30 4
gpt4 key购买 nike

我们长期以来一直在使用 Adob​​e AIR 开发一个 Android 项目,现在我们需要实现在网络中搜索 Upnp 设备的功能。根据我的理解,不可能在 AIR 级别实现此功能(如果我错了请纠正我),因此需要 Android 原生扩展。我找不到任何可用的 UPNP native 扩展,因此决定基于 Cling 库构建一个 Cling UPNP Browser .我可以让它作为 native Android 应用程序工作,但是当我尝试将它转换为 AIR native 扩展时,它根本不起作用。是否有人在 Android - AIR 上成功实现了 UPNP,我们将不胜感激。

最佳答案

在花了更多时间搜索其他替代方案后,我终于使用 CyberLink For Java 成功了.讯连科技图书馆的实现非常简单。对于计划为 Android 创建您自己的 UPNP native 扩展的任何人,这里是构建您的 .jar native 扩展的过程。

  1. 将外部 cyberlink .jar 库包含到您的 Android Java 项目中。
  2. 要开始搜索 UPNP 设备,您必须打开一个新线程:

       new SearchingForUpnpTask().execute("Empty Param"); //You can specify your own param...
    private class SearchingForUpnpTask extends AsyncTask<String, Void, DeviceList>{
    protected DeviceList doInBackground(String... params){
    ControlPoint ctrPoint = new ControlPoint();
    ctrPoint.start("upnp:rootdevice");
    DeviceList devList = ctrPoint.getDeviceList();
    int nRootDevs = devList.size();
    for (int n=0; n < nRootDevs; n++) {
    Device dev = devList.getDevice(n);
    String devName = dev.getFriendlyName();
    System.out.println("[" + n + "] = " + devName);
    }
    ...
    return devList;
    }
  3. 要为您的 Android 编译 .jar 文件需要一些工作,因为 Adob​​e AIR 不理解我们包含的外部 cyberlink .jar 文件。当您尝试调试 native 扩展时,您将收到错误日志:...the class 'org...ControlPoint' is not found in the method ...。为了使其工作,您必须将所有 .jar 文件合并为一个文件。我们在这里有 2 个选项:

    • 第一种方法:导出 Andoird .jar 文件,将扩展名更改为 .zip,然后解压缩。然后将 cyperlink .jar 文件的 .jar 扩展名更改为 .zip 然后解压缩。将源代码从 cyperlink .jar 文件夹复制到 Android 的 .jar 文件夹。最后,再次 jar 整个文件夹。

    • 第二种方法(更简单):使用 jarjar.jar from Google (thanks to Joe Ward) .

希望这对您有所帮助。

关于android - 适用于 Android 的 Upnp native 扩展 - AIR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22134548/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com