lar*_*yde 5 maven android-ndk android-maven-plugin
我有一个依赖第三方,仅二进制JNI库的android项目。使用ant,我可以将.so放到libs /中,将标头放到jni /中,然后完成。
但是,我的其余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)
Run Code Online (Sandbox Code Playgroud)
和我pom中的依赖
<dependency>
<groupId>com.thirdparty.my-dependency</groupId>
<artifactId>my-dependency</artifactId>
<version>1.0</version>
<classifier>armeabi</classifier>
<type>so</type>
</dependency>
Run Code Online (Sandbox Code Playgroud)
在Android的Maven中部署这样的第三方库的最佳方法是什么?
经过对示例的一些修改后,我成功地编译了它。
部署没问题,但事实证明我需要添加
LOCAL_SHARED_LIBRARIES := $(ANDROID_MAVEN_PLUGIN_LOCAL_SHARED_LIBRARIES)
include $(BUILD_SHARED_LIBRARY)
include $(ANDROID_MAVEN_PLUGIN_MAKEFILE)
Run Code Online (Sandbox Code Playgroud)
到应用程序的Android.mk
| 归档时间: |
|
| 查看次数: |
645 次 |
| 最近记录: |