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

人盡茶涼 提交于 2019-12-18 06:44:28

问题


I am writing a plugin to use the native android SDK of filepicker https://github.com/Ink/filepicker-android.

On maven central, they only provide an .aar file (http://search.maven.org/#artifactdetails%7Cio.filepicker%7Cfilepicker-android%7C3.8.13%7Caar) and not a .jar.

If I add this line in my config.xml <source-file src="src/android/filepicker-android-3.8.13.aar" target-dir="libs/" />

the file is copy in libs but not included in the class path during the build via cordova build, so the build failed.

what is the best solution to include a third party library with aar files?

Thank you for your help


回答1:


After cordova project creation, adding platform, adding plugin is done.

Lets say the aar file are copied in libs folder. ( assume file name is cards.aar )

then in app build.gradle specify following and click sync project with Gradle files.

repositories { flatDir { dirs 'libs' } }

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

It works for me!! but one drawback of this solution is .. you need to open the project from platform folder on Android Studio and add the above lines to your build.gradle




回答2:


Suggestion: you can extract the jar file from the aar. You may have to also take care of other dependencies tho.




回答3:


I found a working solution:

Add a new gradle file containing your dependency:

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

In your plugin.xml, reference the extra gradle file:

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

That's all.



来源:https://stackoverflow.com/questions/30130838/cordova-plugin-add-external-aar-file-not-jar

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!