2016-12-19 3 views
1

Android 소스 코드 (Nougat)를 빌드하는 동안 문제가 발생합니다. C++로 작성된 poweroffhandler이라는 시스템 모듈이 있으며 다음과 같이 Android.mk 파일이 있습니다. Android 시스템 모듈이 빌드시 출력을 생성하지 않습니다.

LOCAL_PATH:= $(call my-dir) 
include $(CLEAR_VARS) 

LOCAL_SRC_FILES:= \ 
    #src_files 

LOCAL_SHARED_LIBRARIES := \ 
    #libraries 

LOCAL_MODULE:= poweroffhandler 

include $(BUILD_EXECUTABLE) 

내가 그것을 (오류 메시지와 함께 "ERROR_MESSAGE")를 충돌합니다. 전체 빌드를 중지 (그래서 모듈이 건물 시퀀스를 포함)하지만 빌드 순서 후 출력을 생성하지 않습니다 파일 $(error error_message)을 추가

.

다음과 같이 .rc 파일을 생성 해 보았습니다.

추가 Android.mk 파일 - 나는 그것이 아니라 system/bin 폴더에 intermediates 폴더에서 출력을 생성 않는 .rc 파일을 만들 때 PowerOffHandler.rc

service poweroffhandler /system/bin/poweroffhandler 
    class core 
    user graphics 
    group graphics audio 
    disabled 
    oneshot 

라는 이름의 새 파일을 만든>

LOCAL_INIT_RC := PowerOffHandler.rc 

.

이상한 부분은 프로젝트 루트에서 다음과 같이 모듈을 만들 수 있습니다 : make poweroffhandler. 그렇다면 전혀 문제가 없습니다. 문제는 제가이 모듈을 위해 build all 스크립트를 사용할 수 없다는 것입니다 (자율적 인 통합을 진행할 수 없습니다).

어떤 도움을 이해할 수있을 것이다

, 당신에게 감사

나는 답을 발견

답변

0

, 당신은 시스템 모듈을 작성할 때 : 당신은 등록해야

  • 당신의 Android.mk (최상위 폴더에 include $(call all-subdir-makefiles) 말하여, 예를 들어)
  • 당신은 PRODUCT_PACKAGES += poweroffhandler
을 말함으로써 {root}/build/target/product/embedded.mkLOCAL_MODULE:= poweroffhandler에 의해 지정된 모듈을()에 등록해야