Android.mk 제3자 jar 패키지 와 so 라 이브 러 리 파일 을 도입 하 는 방법
3109 단어 Android.mk제3자
우선 frameworks\base\packages\SystemUI 에서 libs 디 렉 터 리 를 새로 만 듭 니 다.
libs 디 렉 터 리 에 도입 할 jar 패 키 지 를 배치 합 니 다.그리고 Android.mk 파일 을 수정 합 니 다.
그 러 니까 jar 가방 도입 은 주로 LOCAL 에 의존 한 다 는 거 죠.PREBUILT_STATIC_JAVA_LIBRARIES 와 LOCALSTATIC_JAVA_LIBRARIES。다음은 완전한 Android.mk 를 붙 여 복사 하기 편 합 니 다.
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under, src) \
src/com/android/systemui/EventLogTags.logtags
LOCAL_STATIC_JAVA_LIBRARIES := aaa Keyguard android-support-v7-palette android-support-v4
LOCAL_JAVA_LIBRARIES := telephony-common
LOCAL_JAVA_LIBRARIES += JSRConfig
LOCAL_SHARED_LIBRARIES := libtest1 \
libtest2
LOCAL_PACKAGE_NAME := SystemUI
LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
LOCAL_RESOURCE_DIR := \
frameworks/base/packages/Keyguard/res \
$(LOCAL_PATH)/res
LOCAL_AAPT_FLAGS := --auto-add-overlay --extra-packages com.android.keyguard
include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \
aaa:libs/aaa.jar
include $(BUILD_MULTI_PREBUILT)
include $(call all-makefiles-under,$(LOCAL_PATH))
도입 할 jar 패 키 지 를 SystemUI 의 libs 디 렉 터 리 에 놓 았 고,Android.mk 를 수정 하여 도입 을 완 료 했 습 니 다.그럼 소 고 는 어 떡 하지?위 에 어디 다 놓 으 라 고 안 했 는데?Android 에 서 는 시스템 급 app 을 so 라 이브 러 리 에 사용 한 후 system/lib 디 렉 터 리 로 내 려 가 찾기 때문에 so 라 이브 러 리 를 system/lib 디 렉 터 리 에 두 고 Android.mk 에서 LOCALSHARED_LIBRARIES 변 수 는 인용 을 완료 하면 됩 니 다.우 리 는 adb 를 통 해 so 라 이브 러 리 push 를 장치 의 system/lib 디 렉 터 리 에 복사 할 수 있 습 니 다.그러나 안 드 로 이 드 시스템 컴 파일 과정 에서 so 라 이브 러 리 를 system/lib 디 렉 터 리 에 복사 하려 면 어떻게 해 야 합 니까?이것 은 Android 컴 파일 시스템 의 PRODUCT 를 사 용 했 습 니 다.COPY_FILES 변수.
예 를 들 어 device\xx\xxx 디 렉 터 리 다음 제품 이름 의.mk 파일 을 열 고 PRODUCT 를 검색 합 니 다.COPY_FILES 변 수 는 이 변수의 용례 를 많이 볼 수 있 습 니 다.예 를 들 어:
# Audio configuration file
PRODUCT_COPY_FILES += \
device/xx/xxx/audio_policy.conf:system/etc/audio_policy.conf \
device/xx/xxx/audio_effects.conf:system/vendor/etc/audio_effects.conf \
device/xx/xxx/mixer_paths_qrd_skuh.xml:system/etc/mixer_paths_qrd_skuh.xml \
。。。
PRODUCT_COPY_FILES 의 모든 값 은":"로 구분 되 고 앞 은 소스 이 며 뒤 는 목적 입 니 다.예 를 들 어 devices/xx/xxx 디 렉 터 리 에 lib 디 렉 터 리 를 새로 만 들 고 libtest 1.so 와 libtest 2.so 를 lib 디 렉 터 리 에 놓 은 다음 에 PRODUCTCOPY_FILES 는 다음 과 같은 값 을 부여 합 니 다.즉,시스템 이 컴 파일 할 때 그들의 복사 본 을 완성 합 니 다.
#so library
PRODUCT_COPY_FILES += \
device/xx/xxx/libs/libtest1.so:system/lib/libtest1.so \
device/xx/xxx/libs/libtest2.so:system/lib/libtest2.so
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
LNMP Nginx 499 문제 제3자 반전 이상nginx 생산 프로필 참고 로 http 499 문 제 를 해결 하고 은 련 리 셋 이상 을 해결 합 니 다. 매번 요청 이 첫 번 째 실패, 두 번 째 성공, 매번 3 분 을 기 다 려 야 합 니 다. 주요 추가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.