将android NDK依赖项部署到maven存储库



我有一个android项目,它依赖于第三方的仅限二进制的JNI库。使用ant,我可以在lib/中删除.so和jni/中的header,然后完成。

然而,我的android项目的其余部分使用maven,我希望能够将这个库集成到我现有的基于maven的项目中,就像我将任何其他库一样(即与<dependency />条目,库自动从公司服务器下载)。

我已经尝试使用mvn deploy:deploy-file-Dpackaging=so-Dclassifier=armeabi手动上传。so文件,并在zip中上传标题并使用-Dpackaging=har部署。但是NDK仍然无法检测到库和头文件。

我的Android。可是

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)

和my pom

中的依赖项
<dependency>
    <groupId>com.thirdparty.my-dependency</groupId>
    <artifactId>my-dependency</artifactId>
    <version>1.0</version>
    <classifier>armeabi</classifier>
    <type>so</type>
</dependency>

在maven中部署第三方库的最佳方式是什么?

在对示例进行了一些修改之后,我设法使它能够编译。

部署很好,但是我发现我需要添加

LOCAL_SHARED_LIBRARIES := $(ANDROID_MAVEN_PLUGIN_LOCAL_SHARED_LIBRARIES)
include $(BUILD_SHARED_LIBRARY)
include $(ANDROID_MAVEN_PLUGIN_MAKEFILE)

到应用程序的Android.mk

相关内容

  • 没有找到相关文章

最新更新