Android/PhoneGap:在插件开发中使用第三方库

2024-01-02

我正在开发一个 PhoneGap/Cordova 插件,该插件应该提供一个用于发送和接收 OSC 消息(开放声音控制)的套接字。为此,我想使用JavaOSC http://www.illposed.com/software/javaoscdoc/但我不确定如何将库包含到我的项目中。

我正在使用 Android Studio 并且我基本上遵循本教程 http://devgirl.org/2013/07/17/tutorial-how-to-write-a-phonegap-plugin-for-android/建立我的项目。首先,我将原始 JavaOSC 类文件放置在与 OSCPlugin.class 相同的目录中,并将导入声明放置在 OSCPlugin.class 的末尾:

import com.illposed.osc;

那行不通。

下一步我尝试在项目的模块设置中添加来自 Maven 的库。我能够从 maven 下载 jar 文件并将它们安装到 /platforms/android/libs 中。在模块“android”的设置中,我可以看到“Android API 17”应该用作 SDK,包括 cordova-3.1.0 和 com.illspoke.osc:javaosc-core:0.2 - 均已激活。我可以在 Android Studio 的导航器中看到 cordova-3.1.0.jar 以及 javaosc-core-0.2.jar,其中包含 com.illspoke.osc。

但是,当尝试编译我的项目时,我得到:

Gradle: cannot find symbol class osc

从包含上述导入声明的 OSCPlugin.class 中触发

我对 Java 的经验很少,对 Android 开发的经验更少。但我有兴趣解决这个谜题并开始。我搜索了 Java 文档,但问题不仅仅在于 Java 内部,还在于 Android 项目的结构内部。

如果有人能够阐明这个问题,我将不胜感激。任何提示都将受到高度赞赏!


对于我的 Phonegap 项目之一,我需要阿帕奇共享网 http://commons.apache.org/proper/commons-net/,尝试遵循这些steps http://www.plotprojects.com/developing-a-cordova-phonegap-plugin-for-android/:

...
<source-file src="src/android/xxx.jar" target-dir="libs" framework="true" />
<source-file src="src/android/MyPlugin.java" target-dir="src/com/mypackage" />
...

不幸的是,没有成功。诀窍是将第三方库嵌入到另一个插件中(遵循插件结构)。将 org.apache.commons.net 作为顶级目录:

    org.apache.commons.net
     +src 
       +android(this is where the .jar is located)
     +www (empty, not referencing any .js)
     +plugin.xml

为了简洁起见,plugin.xml如下:

<?xml version="1.0" encoding="UTF-8"?>

<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
           id="org.apache.commons.net"
      version="0.1.0">
    <name>org.apache.commons.net</name>
    <description>org.apache.commons.net</description>
    <license>Apache License, Version 2.0</license>
    <keywords>org.apache.commons.net</keywords>

    <!-- android -->
    <platform name="android">
        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="org.apache.commons.net">
                <param name="android-package" value="org.apache.commons.net"/>
            </feature>
        </config-file>

        <source-file src="src/android/commons-net-2.2.jar" target-dir="libs" framework="true" />    
     </platform>          
</plugin>

假设org.apache.commons.net目录位于本地 git 存储库中,将其添加到项目中非常简单:

phonegap local plugin add /path/to/your/org.apache.commons.net
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android/PhoneGap:在插件开发中使用第三方库 的相关文章

  • 使用java在mysql中插入带有\\的文件路径

    我正在使用java制作一个独立的应用程序 并且我需要插入用户从文件选择器中选择的图像的路径 我正在获取文件的路径 但是当我将其存储在数据库 mysql 中时 它不会存储 所以当我检索该路径时 该文件不会显示 如何存储文件的路径 这样就可以使
  • SwingWorker 在 Unsafe.park() 处挂起

    我有一个SwingWorker与后台服务器通信 然后更新JFrame 我正在调试我的应用程序并注意到即使在SwingWorker完成了它的工作 它的线程仍然存在 它挂在Unsafe park java lang Object 这是一个本机方
  • 指定自定义应用程序上下文

    我们正在将一些数据服务从使用 jersey spring 的 Jersey 1 x 迁移到使用 jersey spring3 的 Jersey 2 x 我们有一些继承自 JerseyTest 的测试类 其中一些类使用 web xml 文件中
  • Maven:缺少工件 org.springframework:spring:jar:4.2.6

    我在 SpringToolSuite 中有一个动态 Web 项目 它被转换为 Maven 项目 我遇到问题 缺少工件 org springframework spring jar 4 2 6 我已经尝试清理 重建和运行该项目 它给 读取文件
  • 为什么我无法解开根节点并反序列化对象数组?

    为什么我无法通过展开根节点来反序列化对象数组 import java io IOException import java util Arrays import java util List import org codehaus jack
  • 使用react-native使用WebView设置用户代理

    我想修改 WebView 中的用户代理字符串 以便在服务器端我可以检测到请求来自我的反应本机应用程序 我想使用 WebView 中的 source 属性来做到这一点 对于 IOS 和 Android 我该如何执行此操作 您只需将其设置为 W
  • 旋转 LayerDrawable 中的单个 RotateDrawable

    我正在构建一个带有某种指南针的应用程序 并且我想使用 LayerDrawable 来绘制指南针并为其设置动画 LayerDrawable 由用于指南针背景的静态背景图像和用于旋转部分的 RotateDrawable 组成 这是我的可绘制资源
  • 有没有在android中使用roboguice和fragment的简单例子?

    我在寻找使用 Fragments RoboGuice 的工作示例时遇到问题 当您尝试使用 Android 片段事务管理器添加 删除片段时会出现此问题 一旦您告诉片段从 RoboFragment 继承 事务管理器就不再认为该类是片段 因为它扩
  • Hibernate3:自引用对象

    需要一些帮助来了解如何执行此操作 我将在文件系统上运行递归 查找 并且希望将信息保留在单个数据库表中 具有自引用的层次结构 这是我想要填充的数据库表结构 目录对象表 id int NOT NULL name varchar 255 NOT
  • 获取运行时生成的类的字节

    我正在使用一个 Java 框架 该框架使用自定义类加载器在运行时生成一些 代理 类 我想为任何这样的类获取自定义 ClassLoader 从 loadClass 返回的与该类对应的原始字节数组 这可能吗 我知道 如果一个类作为资源存在 那么
  • 将 Class 对象转换为字节

    如果我有一个Class http java sun com j2se 1 5 0 docs api java lang Class html在运行时实例 我可以获得它的 byte 表示形式吗 我感兴趣的字节将在类文件格式 http java
  • Java字符串中的字符数[重复]

    这个问题在这里已经有答案了 可能的重复 Java 使用unicode上划线显示平方根时字符串的长度 https stackoverflow com questions 7704426 java length of string when u
  • 如何根据服务器/环境动态加载服务器配置?

    目前 我设置了 Maven 配置文件 以便能够为不同的环境 开发 演示 暂存 生产等 部署我的项目 并且它工作得很好 但问题是 对于我拥有的每个模块 Web 应用程序 我需要复制 粘贴此配置文件 它们都是属性文件 当我需要更改环境 服务器配
  • 如何等待 Kotlin 协程完成

    我读过几十篇文章 但不知何故 没有一个答案似乎适用于我的情况 我想要实现的是在Fragment中等待ViewModel使用Room执行操作 Dao Query SELECT FROM my table WHERE id id suspend
  • phonegap:基于 cookie 的身份验证 (PHP) 不起作用 [webview]

    我正在开发一个移动网络应用程序 使用 sencha touch HTML5 和 Phonegap 作为包装器 我正在使用 PHP 身份验证 Cookie 和 ajax 请求 在 safari 或 chrome 上一切正常 但在使用phone
  • 是否可以从 Android Studio 恢复被覆盖的文件?

    由于错误 我覆盖了我的两个来自 android studio 的具有相同名称的项目 并且今天我已经取消了该操作 我尝试打开主项目 但发现其中没有 Java 类 只有布局文件 在我覆盖的第二个项目中 文件存在巨大混乱 并尝试使用 Androi
  • 使用 JPA 和 Hibernate 时 DISTINCT 如何工作

    DISTINCT 在 JPA 中使用什么列 是否可以更改它 以下是使用 DISTINCT 的 JPA 查询示例 select DISTINCT c from Customer c 这没有多大意义 不同的列是基于哪一列 它是否在实体上指定为注
  • 如何使用SAXReader解析GPX文件?

    我正在尝试解析GPX file http en wikipedia org wiki GPS eXchange Format 我用 JDOM 尝试过 但效果不太好 SAXBuilder builder new SAXBuilder Docu
  • 确保对象实现 Comparable

    我有一个小问题 想知道如何解决它 我有一个通用类Tuple
  • Android Nougat 无法显示某些矢量文件 (Resources$NotFoundException)

    我一直在开发一个包含许多矢量图形的应用程序 最近我开始在 Nougat 上测试它 发现它立即崩溃了 logcat 在加载矢量时显示 Resources NotFoundException 这让人想起带有矢量图形的 Android 早期版本中

随机推荐

  • 无法在 App Engine Python 上通过 Cloud SQL 使用 utf8mb4 字符集

    我已经设置了一个 CloudSQL 实例 尝试将其与 AppEngine 上的 Django 应用程序一起使用 我已确认服务器已设置为使用utf8mb4通过 CloudSQL 控制台为我的数据库设置字符集 utf8mb4 utf8mb4 u
  • 具有 Windows 身份验证的 ASP.NET 角色

    来自 ASP 新手的超级简单问题 我正在开发一个内部专用的 ASP NET 网站 该网站全面使用 Windows 集成身份验证 我想将三个角色与该站点关联 用户 经理和管理员 该网站向整个组织开放 因此任何经过身份验证的人都是用户 除非他们
  • 如何在android中读取xmpp消息标签的自定义属性?

    我需要接收的 xml 是
  • 在 Swift 中计算预计到达时间

    我试图快速计算两个位置之间的估计旅行时间 步行 用户进行注释 这是我当前的代码 它不会引发任何导致程序崩溃的错误 而只会返回 请求 ETA 时出错 import UIKit import MapKit class LocationObjec
  • 解析php中的URL

    在 php 中 如果我想解析一个 URL 例如 www site com index php foo bar 我可以使用 POST 变量 我可以找回bar by POST foo 但如果我的网址是这样的怎么办www site com ind
  • 如何生成 rdoc 风格的可折叠代码段?

    我正在使用 Doxygen 为 C 项目创建内部文档 我让 Doxygen 包含方法的源代码等 但这使得页面难以扫描 我希望它的行为像 rdoc 一样 并将源代码隐藏在默认折叠的块中 我以为HTML DYNAMIC SECTIONS可能会让
  • 有没有办法从重载的 TS 方法中提取所有函数签名?

    基本上我只是想包装一个具有多个签名的函数 有没有什么干净的方法可以做到这一点 而无需重新硬编码所有签名 我只是想bar下面接受任何相同的参数foo declare function foo x string number declare f
  • 如何调试 AngularJS 中的“10 $digest iterations returned”错误?

    正常情况下 该消息Watchers fired in the last 5 iterations 可能包含有用的提示 但正如您所看到的 它是空的 类似问题的大多数其他答案都会告诉您寻找一种为每次调用返回一个新对象的方法 但这在大型应用程序中
  • Windbg:命令输出到文本文件

    如何将 WinDbg 中命令的输出保存到文本文件 使用 logo 选项从命令行启动 WinDbg windbg exe logo logfile txt 这将使所有完成的事情记录到指定的文件中 您可以找到命令行选项的更多详细信息here h
  • Emacs 正则表达式中字符串的开头和结尾

    表示开头和结尾的字符是什么string其中有换行符吗 我正在编写一个修剪函数 defun trim str if string match space space str match string 1 str str 但是使用像 first
  • Angular 5:如何在子组件中获取父组件路由参数?

    Here is add new folder component 该组件是以下组件的子组件folder component当我路由add new folder component from folder component那个时候我想要fo
  • 生成随机密钥 firestore

    我正在运行一个火存储数据库 我想创建一个随机密钥与 firestore 相同的模式 在链接中 我找到了创建文档后调用的函数 with db ref add 在客户端生成密钥 https github com firebase firebas
  • matplotlib 带 alpha 的圆形补丁会产生边缘和面颜色的重叠

    一般来说 我对 matplotlib 和 python 相当陌生 我想做的事情相当基本 然而 即使经过相当长的谷歌搜索时间 我也找不到解决方案 问题是这样的 我想画一个边框和脸部颜色不同的圆圈 即设置edgecolor and faceco
  • 如何使用 numpy 获取所有可能的随机组合

    我有一个长度为 NumPy 的数组N含有X那些和N X零 我想生成数组的所有可能的随机组合 例如 当N是 5 并且X是2 我需要以下组合 0 0 1 1 0 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0
  • 从服务器打开文件并发送到浏览器

    在我的 asp net 应用程序中 我创建 pdf 文件并将其保存在服务器上的 App Data 文件夹中 接下来我想打开这个文件以便用户可以打印它 如何在浏览器中打开该文件 在http header 等中发送 有人有一些例子吗 请帮忙 您
  • php中的隐式类变量声明?

    我一直在查看一些代码 并且很难在 php 类中解决变量声明 具体来说 我正在查看的代码在使用类变量之前似乎没有声明它们 现在这可能是预料之中的 但我找不到任何表明这是可能的信息 那么你会期望这样吗 class Example public
  • 使用 MSDeploy 将可执行文件复制到服务器,然后运行它

    我已经使用 MSDeploy WebDeploy 来更新我的 Web 应用程序 这解决了我迄今为止设置的大约 90 的部署问题 此外 我想做的是将可执行文件 实际上是文件夹的内容 复制到服务器 然后运行该可执行文件 这会更新架构 我可以看到
  • Openstreetmap 反向地理编码

    有谁知道有哪些开源项目允许对 Open StreetMap 数据进行反向地理编码查找 我不想使用现有的托管网络服务 例如提名 https wiki openstreetmap org wiki Nominatim因为我的数据集很大 您可以安
  • OnClick() 事件和 OnClickListener 之间的区别?

    我一直在用onclick 我的大多数项目中都有这样的事件 但是 我读到OnClickListener 谁能说出这两者有什么区别 哪一个最适合在 Android 应用程序中使用 我不确定这个问题是否清楚 View OnClickListene
  • Android/PhoneGap:在插件开发中使用第三方库

    我正在开发一个 PhoneGap Cordova 插件 该插件应该提供一个用于发送和接收 OSC 消息 开放声音控制 的套接字 为此 我想使用JavaOSC http www illposed com software javaoscdoc