我有一个 Android 项目,依赖于第三方的二进制 JNI 库。使用 Ant,我只需将 .so 文件放在 libs/ 目录下,头文件放在 jni/ 目录下即可完成。
然而,我的其他 Android 项目使用 Maven,我希望能够像集成其他库一样将这个库集成到现有的基于 Maven 的项目中(即使用
我尝试手动上传 .so 文件,使用
我的 Android.mk 文件如下:
然而,我的其他 Android 项目使用 Maven,我希望能够像集成其他库一样将这个库集成到现有的基于 Maven 的项目中(即使用
<dependency />
条目,从公司服务器自动下载库)。我尝试手动上传 .so 文件,使用
mvn deploy:deploy-file
命令,并使用 -Dpackaging=so
和 -Dclassifier=armeabi
,并将头文件打包为 zip 文件,使用 -Dpackaging=har
部署。但是 NDK 仍无法检测到该库和头文件。我的 Android.mk 文件如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := test
LOCAL_LDLIBS := -llog
LOCAL_SHARED_LIBRARIES := my-dependency
LOCAL_SRC_FILES := test.cpp
include $(BUILD_SHARED_LIBRARY)
我的pom文件中的依赖关系
<dependency>
<groupId>com.thirdparty.my-dependency</groupId>
<artifactId>my-dependency</artifactId>
<version>1.0</version>
<classifier>armeabi</classifier>
<type>so</type>
</dependency>
如果要在Android中使用第三方库,最好的部署方式是什么?
使用Maven。