将.jar文件包含在cordova插件中

时间:2014-09-25 11:55:50

标签: java cordova phonegap-plugins

我需要在我的自定义cordova插件中加入第三方插件.jar。 我找不到任何办法。

f.e。我的一些实际代码看起来像这样(在plugin.xml中):

<platform name="android">
        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="AztecReader">
                <param name="android-package" value="com.example.aztecreadermobilas.AztecReaderPlugin"/>
            </feature>
        </config-file>

        <source-file src="src/android/AztecReaderPlugin.java" target-dir="src/com/example/aztecreadermobilas" />      
</platform>  

我需要包括的库:

/libs
    /armeabi
        /libAztecLibrary.so
    /armeabi_v2
        /libAzteclibraryv2.so
    /AztecReader.jar

3 个答案:

答案 0 :(得分:4)

我找到了一个可能涵盖您的用例的示例:

https://github.com/phonegap/phonegap-plugin-fast-canvas/blob/master/plugin.xml

看看第31行。似乎可以通过source-file指令包含预编译库(在本例中为Android / libs / armeabi / libFastCanvasJNI.so)。

我不知道这是否也适用于java类文件。您可以通过解压缩jar并将每个包含的类文件添加为源文件来完成此操作。试一试。

AztecReader似乎可以作为源代码使用,因此您可以直接将源代码(java文件)添加到您的插件中。它们将在应用程序构建期间编译。这似乎是将读者集成到插件中的最简单方法。

答案 1 :(得分:0)

.so .jar文件,与.java文件相同,只需使用:

<source-file src="path/to/foo.so" target-dir="libs/" />

提示:yourApp / platform / android /是一个android项目目录,在 cordova build android 之后,你可以正常在Android Studio中调试它。无聊的是,每次修改插件代码时,都必须删除并重新添加它。

答案 2 :(得分:0)

lib-file元素添加到plugin.xml:

<platform name="android">
  <lib-file src="AztecReader.jar" />
</platform>

请参阅Plugin.xml reference documentation

  

对于Android,<lib-file>元素用于在项目的libs目录中安装.jar文件。它仅支持包含.jar文件的相对路径的src属性。