0

我的项目在使用 Eclipse IDE 时可以很好地编译和链接。该项目使用了一些外部 jar 文件,还使用了一些 JNI ( .so ) 库。

它们都位于我项目的 libs/ 目录中。为了让 libs/ 文件夹中的所有 jar 文件和共享对象包含在 APK 中,我的 pom.xml 文件应该是什么样子。我的 libs 目录如下所示:

libs/
├── mydevicelib.jar
├── armeabi
│   ├── libdevice.so
├── armeabi-v7a
│   ├── libdevice.so
│   ├── libcmiris.so
├── libcommon.jar

我正在使用 Maven 3.0.5

4

1 回答 1

1

这些 jars 应该作为依赖项包含在 maven POM 中。

与其将它们包含在本地 lib 文件夹中,不如将它们部署到 maven 存储库中。

对于通过 Maven 中央存储库可用的任何工件,只需直接从那里包含依赖项。

对于自定义工件,最好的方法是建立自己的 Maven 存储库(http://archiva.apache.org/index.cgihttp://www.sonatype.org/nexus/)并部署工件到那个。然后您可以将它们作为依赖项包含在 pom.xml 中。

或者,如果这对您的项目来说太过分了,您可以设置一个本地项目存储库并将工件部署到该存储库。

我实际上并没有用 JNI 库做到这一点,虽然这个链接看起来可能包含有用的信息来做类似的事情:http ://code.google.com/p/maven-android-plugin/wiki/NativeLibsAsDependencies 。看起来你只需要添加

<type>so</type>

依赖项的元素。

于 2013-06-12T10:28:12.470 回答