안드로이드에서 타사 라이브러리를 설치

시스템에서 타사 (동적 및 정적) 안드로이드 SDK 라이브러리의 설치 전, 미분화 모듈을 사용하는 것이 편리하다.

Android.mk

$ (CLEAR_VARS)를 포함 
LOCAL_MODULE_TAGS : = 옵션 
LOCAL_PREBUILT_LIBS : = lib 디렉토리 / libAirFlyWfd.so 
LOCAL_EXPORT_C_INCLUDES : = $ (LOCAL_PATH) 
(BUILD_MULTI_PREBUILT) $을 포함

설치를 컴파일 한 후 복사하려면 다음 세 개의 파일을 생성합니다

\ 대상 \ 제품 \ 돌고래 FVD-P1의 \ 시스템 \ LIB \ libAirFlyWfd.so 밖으로 
나가 \ 대상 \ 제품 \ 돌고래-FVD-P1 \ OBJ \ LIB \ libAirFlyWfd.so 
아웃 \ 대상 \ 제품 \ 돌고래-FVD-P1의 \ OBJ \ SHARED_LIBRARIES \ libAirFlyReceiver_intermediates \ export_includes

OUT \ 대상 \ 제품 \ 돌고래 fvd- P1의 \ 시스템 \ LIB \ libAirFlyWfd.so는
보드에 포장 된 팔하는 데 사용됩니다.
OUT \ 대상 \ 제품 \ 돌고래 fvd- P1 \ OBJ \ lib 디렉토리 \ libAirFlyWfd.so
다른 모듈 시간 링크라는 컴파일 사용.

그냥 추가 할 때 다른 시스템이 동일한 라이브러리를 사용할 필요가 연결하려는

LOCAL_SHARED_LIBRARIES = \
libAirFlyWfd \

----------------------------------- 다음은 광산 구덩이의 과정 ---------입니다 ------------------ 
인터넷의 정보에 따르면, 두 가지 방법이 있습니다,하지만 테스트 후 android4.4.2에서 제대로 사용할 수 없습니다

($을 포함 사용하는 방법 BUILD_PREBUILT)
$ (CLEAR_VARS)를 포함 
LOCAL_MODULE_TAGS : = 옵션
 LOCAL_MODULE : = libAirFlyWfd 
LOCAL_MODULE_CLASS : = SHARED_LIBRARIES 
LOCAL_SRC_FILES : = lib 디렉토리 / libAirFlyWfd.so 
$ (BUILD_PREBUILT) 포함

이 메소드의 최종 결과이며,

 
\ 대상 \ 제품 \ 돌고래-fvd- 아웃 P1의 \ 시스템 \ LIB \ libAirFlyWfd 
아웃 \ 대상 \ 제품 \ 돌고래 -fvd- P1 \ OBJ \ LIB \ libAirFlyWfd 
아웃 \ 대상 \ 제품 \ 돌고래 -fvd-P1 \ OBJ \ SHARED_LIBRARIES \ libAirFlyReceiver_intermediates \ export_includes

접미어가없는 .so를 디렉토리 lib에 두 개의 파일로 포장이는 전화를 다른 모듈을 주도하고있다 libAirFlyWfd을 기다리는이 라이브러리

\ 대상 \ 제품에서 \ dolphin- FVD-P1의 \는 OBJ \ lib 디렉토리 \ 디렉토리에서 찾을 수 없습니다 libAirFlyWfd.so 및 오류
하지 않습니다 : *** 할 규칙을 만들 목표를 ' 밖으로 / 대상 / 제품 / 돌고래 FVD-P1 / OBJ / lib 디렉토리 / libAirFlyWfd.so '을

 


한편 보드에 포장
OUT 돌고래 FVD-P1 \ 시스템 \는 \ lib에는 \ \ 대상 \ 제품 libAirFlyWfd 이 문서에는있어서 동적 라이브러리로 식별되지

변경 한 경우

LOCAL_MODULE = libAirFlyWfd.so
다음과 같이 설치 후
\ 대상 \ 제품 \ 돌고래-fvd- 아웃 P1의 \ 시스템 \ LIB \ libAirFlyWfd.so 
아웃 \ 대상 \ 제품 \ 돌고래 -fvd- P1 \ OBJ \ LIB \ libAirFlyWfd.so 
아웃 \ 대상 \ 제품 \ 돌고래 -fvd-P1의 \ OBJ \ SHARED_LIBRARIES \ libAirFlyReceiver.so_intermediates \ export_includes

라이브러리 파일 이름을 확인하지만,

다른 모듈을 호출 할 때 libAirFlyReceiver.so_intermediates 디렉토리 이름이 잘못 더 많은 결과 .so를가 export_includes을 찾을 수 없습니다
하지 않습니다 : *** 할 규칙을 만들 목표를 ' 밖으로 / 대상 / 제품 / 돌고래 FVD-P1 / OBJ / SHARED_LIBRARIES / libAirFlyWfd_intermediates / export_includes '을

 

두 번째 방법을 사용하면 $ (PREBUILT_SHARED_LIBRARY)를 포함

 

LOCAL_PATH : = $ (내 - 전화 DIR ) 

$ (CLEAR_VARS) 포함 
: LOCAL_MODULE = libAirFlyWfd.so 
: LOCAL_SRC_FILES = lib 디렉토리 / libAirFlyWfd.so
 포함 $ (PREBUILT_SHARED_LIBRARY를) 
어떤 Android.mk 반응을 수행하지 않는 상기 방법에 의하면, 어떤 정의 4.4.2 안드로이드 안된다
$ (PREBUILT_SHARED_LIBRARY는) 만,이 작업이 NDK R5 후처럼 보인다 지원 작동 방법을 대응하는 특별히 테스트하지 않았다 포함되어 있습니다. 
마지막 참조
https://blog.csdn.net/lizhiguo0532/article/details/7219349
사용
$ (BUILD_MULTI_PREBUILT) 방법은 괜찮다고 있습니다.

-------------------------------------------------- ----------
위의 모든 모듈에 액세스 할 수있는 공유 라이브러리 시스템에 장착된다.
단일 모듈 경우 해당 Android.mk에서 직접 사용될 수있다
LOCAL_LDFLAGS + = $ (LOCAL_PATH) /lib/libAirFlyWfd.so
경로 지정 라이브러리.

그리고 보드에 굽거나 보드에 제대로 시작할 수 없습니다이 라이브러리 응용 프로그램을 사용하기 위해 / lib에 다음 / 시스템 /에 라이브러리 복사 (PRODUCT_COPY_FILES을) 잊지 마세요.

추천

출처www.cnblogs.com/tid-think/p/11078692.html