2013-04-25 120 views
4

我有一個android項目,依賴於第三方,只有二進制JNI庫。使用ant,我可以將.so放在libs /和jni中的頭文件中,然後完成。部署android ndk依賴到maven倉庫

但是,我的其他Android項目使用maven,我希望能夠將此庫集成到我現有的基於Maven的項目中,就像我將其他庫(即使用<dependency />條目,庫自動下載來自公司服務器)。

我曾嘗試使用mvn deploy:deploy-file-Dpackaging=so-Dclassifier=armeabi手動上傳的.so文件,並在壓縮上傳的頭,並使用-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> 

的依賴會是什麼在Maven的部署第三方庫這樣的Android的最佳途徑?

回答

3

經過一些與示例修補,我設法讓它編譯。

部署是好的,但事實證明,我需要添加

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

要應用的Android.mk