我正在编写一个插件来使用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文件包含在一起的最佳解决方案是什么?
感谢您的帮助
答案 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>
就是这样。