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

cordova plugin add external .aar file (not .jar)

我正在编写一个插件来使用 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/" />

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

使用 aar 文件包含第三方库的最佳解决方案是什么?

感谢您的帮助

建议:你可以从aar中提取jar文件。您可能还需要处理其他依赖项。

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

假设 aar 文件被复制到 libs 文件夹中。 (假设文件名为 cards.aar )

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

repositories { flatDir { 目录 'libs' } }

dependencies { compile(name:'cards', ext:'aar') }

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

我找到了可行的解决方案:

添加包含您的依赖项的新 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>

就这些了。