2013-04-25 3 views
4

타사 바이너리 전용 JNI 라이브러리에 의존하는 안드로이드 프로젝트가 있습니다. 개미를 사용하면 .so를 libs /와 jni의 헤더에 놓을 수 있습니다.maven 리포지토리에 안드로이드 종속성을 배포합니다.

나머지 안드로이드 프로젝트는 maven을 사용합니다.이 라이브러리를 다른 기존 라이브러리와 마찬가지로 기존의 maven 기반 프로젝트에 통합 할 수 있기를 원합니다 (예 : <dependency /> 항목이 있으면 라이브러리가 자동으로 다운로드됩니다). 회사 서버에서).

내가 수동으로 -Dpackaging=so-Dclassifier=armeabimvn deploy:deploy-file를 사용하는 .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) 

하고 내 치어

<dependency> 
    <groupId>com.thirdparty.my-dependency</groupId> 
    <artifactId>my-dependency</artifactId> 
    <version>1.0</version> 
    <classifier>armeabi</classifier> 
    <type>so</type> 
</dependency> 

에 의존 무엇 안드로이드에 대한 받는다는이 같은 타사 라이브러리를 배포하는 가장 좋은 방법이 있을까요?

답변

3

샘플을 약간 만져보고 나자면 컴파일 할 수있었습니다.

배포는 괜찮지 만, 그것이 내가에

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

를 추가 할 필요가 밝혀 응용 프로그램의 Android.mk

관련 문제