我有使用Eclipse IDE编译和链接的项目。该项目使用一些外部jar文件,并使用一些JNI(.so)库。
它们都位于我项目的libs /目录中。我的pom.xml文件应该如何,以便libs /文件夹中的所有jar文件和共享对象都包含在APK中。我的libs目录看起来像这样:
libs/
├── mydevicelib.jar
├── armeabi
│ ├── libdevice.so
├── armeabi-v7a
│ ├── libdevice.so
│ ├── libcmiris.so
├── libcommon.jar
我正在使用maven 3.0.5
答案 0 :(得分:1)
这些罐子应作为依赖关系包含在maven POM中。
不应将它们包含在本地lib文件夹中,而应将它们部署到maven存储库。
对于通过maven中央存储库可用的任何工件,只需直接从那里包含依赖项。
对于自定义工件,执行此操作的最佳方法是设置您自己的maven存储库(http://archiva.apache.org/index.cgi或http://www.sonatype.org/nexus/)并将工件部署到该存储库。然后,您可以将它们作为依赖项包含在pom中。
或者,如果这对您的项目来说太过分了,您可以设置本地项目存储库并将工件部署到该项目。
我实际上并没有使用JNI库完成此操作,尽管此链接看起来可能包含在那里执行类似操作的有用信息:http://code.google.com/p/maven-android-plugin/wiki/NativeLibsAsDependencies。看起来你只需要添加
<type>so</type>
依赖的元素。