시스템에서 타사 (동적 및 정적) 안드로이드 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을) 잊지 마세요.