cordova插件添加外部.aar文件(不是.jar)

时间:2015-05-08 18:48:44

标签: java android cordova phonegap-plugins cordova-plugins

我正在编写一个插件来使用filepicker https://github.com/Ink/filepicker-android的原生android SDK。

在maven central上,他们只提供.aar文件(http://search.maven.org/#artifactdetails%7Cio.filepicker%7Cfilepicker-android%7C3.8.13%7Caar)而不是.jar。

如果我在config.xml中添加此行 <source-file src="src/android/filepicker-android-3.8.13.aar" target-dir="libs/" />

该文件是在libs中复制的,但在构建期间未通过cordova build包含在类路径中,因此构建失败。

将第三方库与aar文件包含在一起的最佳解决方案是什么?

感谢您的帮助

3 个答案:

答案 0 :(得分:1)

创建cordova项目后,添加平台,添加插件。

让我们说aar文件被复制到libs文件夹中。 (假设文件名是cards.aar)

然后在app build.gradle中指定以下内容并单击与Gradle文件同步项目。

知识库{flatDir {dirs'libs'}}

依赖项{compile(name:'cards',ext:'aar')}

对我有用!!但是这个解决方案的一个缺点是......您需要从Android Studio上的平台文件夹打开项目,并将上面的行添加到build.gradle

答案 1 :(得分:0)

建议:您可以从aar中提取jar文件。您可能还必须照顾其他依赖性。

答案 2 :(得分:0)

我找到了一个有效的解决方案:

添加包含您的依赖项的新gradle文件:

dependencies {
   compile 'io.filepicker:filepicker-android:3.9.1'
}

plugin.xml中,引用额外的gradle文件:

<!-- android -->
<platform name="android">
    ...
    <framework src="src/android/FilePickerIO.gradle" custom="true" type="gradleReference" />
</platform>

就是这样。