如何正确包含 cordova 插件的外部 jar 文件?

2022-09-03 02:01:04

我正在尝试制作一个简单的cordova android插件,该插件需要在jar文件中定义的类。我在这里有一个测试项目,其中包括示例用法和插件的简化版本。

在我的插件.xml,我有这个:

<platform name="android">
        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="Pebble">
                <param name="android-package" value="com.jetboystudio.pebble.PebblePGPlugin"/>
            </feature>
        </config-file>
        <source-file src="src/android/PebblePGPlugin.java" target-dir="src/com/jetboystudio/pebble" />
        <source-file src="src/android/libs/pebble_kit.jar" target-dir="libs" />
    </platform>

在我的测试项目中,我将pebblekit jar放在需要的地方(我认为):plugins/com.jetboystudio.pebble.PebblePGPlugin/src/android/libs/pebble_kit.jar

当我“cordova构建”时,我没有收到任何错误,但是当我安装apk文件时,我在Chrome设备检查中得到了“找不到类”。我假设这个它找不到的类是pebble_kit.jar中定义的类之一。此外,它似乎没有将此文件复制到平台/ android中。

如果我能更好地调试(找不到哪个类?),这可能是一个好的开始,如果没有人知道为什么这不起作用的实际答案。


答案 1

你是正确的。plugin.xml

在将插件添加/安装到项目中后,请勿编辑。
当你运行cordova构建或准备它不会处理插件的本机部分.xml,它只会得到cordova插件添加的进程plugin.xml

使用包含jar文件更新您的插件存储库/文件夹,并且您拥有的行是正确的。plugin.xml

然后做

cordova plugin rm

cordova plugin add

cordova build

最终结果验证 cordova 构建后是否存在。/platforms/android/libs/pebble_kit.jar


答案 2

您还可以添加一个 jar 文件::

<lib-file src="src/android/libs/pebble_kit.jar" />

这会将 jar 添加到platforms/android/app/libs/


推荐