我有一个Android项目依赖于第三方,仅二进制JNI库。使用ant,我可以将.so放在libs /和jni /中的标题中并完成。
然而,我的其余android项目都使用maven,我希望能够将这个库集成到我现有的基于maven的项目中,就像我任何其他库(即带有<dependency />
条目一样,库自动从公司服务器下载。)
我尝试使用mvn deploy:deploy-file
-Dpackaging=so
和-Dclassifier=armeabi
使用-Dpackaging=har
手动上传.so文件,然后使用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)
将邮件上传到邮箱中并进行部署。但是NDK仍然无法检测到库和标题。
我的Android.mk是
<dependency>
<groupId>com.thirdparty.my-dependency</groupId>
<artifactId>my-dependency</artifactId>
<version>1.0</version>
<classifier>armeabi</classifier>
<type>so</type>
</dependency>
和我的pom中的依赖
{{1}}
在maven for android中部署像这样的第三方库的最佳方法是什么?
答案 0 :(得分:3)
在对样本进行一些修补之后,我设法让它进行编译。
部署很好,但事实证明我需要添加
LOCAL_SHARED_LIBRARIES := $(ANDROID_MAVEN_PLUGIN_LOCAL_SHARED_LIBRARIES)
include $(BUILD_SHARED_LIBRARY)
include $(ANDROID_MAVEN_PLUGIN_MAKEFILE)
到应用的Android.mk