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

时间:2014-08-22 01:03:29

标签: java android cordova

我正在尝试制作一个简单的cordova android插件,它需要在jar文件中定义的类。我有一个测试项目here,其中包含示例用法&我的插件的简化版。

在我的plugin.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

当我&#34; cordova构建&#34;我没有错误,但是当我安装apk文件时,我得到了#34; Class not found&#34;在Chrome设备中检查。我假设这个类无法找到pebble_kit.jar中定义的类之一。此外,它似乎没有将此文件复制到platforms / android。

如果我可以更好地调试(找不到哪个类?)这可能是一个好的开始,如果没有人能够解释为什么这样做不起作用。

2 个答案:

答案 0 :(得分:11)

您的plugin.xml是正确的。

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

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

然后做

cordova plugin rm

cordova plugin add

cordova build

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

答案 1 :(得分:2)

您还可以使用以下方式添加一个jar文件:

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

这会将罐子添加到platforms/android/app/libs/