기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요. 


android system service 두종류는 중 하나인 native system service를 작성하여 


kitkat(4.4) 올려서 테스트할려고 했습니다. 



- frameworks\base\cmds\helloworld
native service 테스트를 위해 서버/클라이언트를 작성한 곳입니다. 

-frameworks\base\include\helloworld
인터페이스/스텁/프록시/서비스 헤더 파일이 있는 곳입니다. 

-frameworks\base\libs\helloworld
인터페이스/스텁/프록시/서비스 구현한 파일들이 있습니다. 

이 서비스의 내용은 클라이언트 실행시 간단한 텍스트를 출력하는겁니다. 

즉, 클라이언트에서 native service를 이용한 RPC를 수행합니다. 

ex)sHelloworldService->print("oh~~~!!! Good!!!");

*실행방법:
adb shell 
cd system/bin
./helloworldservice &  //서버 실행
./helloworldclient & //클라이언트 실행

결국 하기와 같이 실행파일로 생성된 서버/클라이언트 실행시 "oh~~~!!! Good!!!" 출력이 되는것을 예상하고 만든 예제입니다. 

하지만 컴파일은 되는데 실제 lib/exe 파일이 생성이 되질 않았습니다. 

하기 내용들이 제가 수정한 make 파일 내용입니다. 

*make 파일들

-frameworks\base\libs\helloworld\Android.mk
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES:= \
IHelloworldService.cpp \
BpHelloworldService.cpp \
BnHelloworldService.cpp \
HelloworldService.cpp

LOCAL_SHARED_LIBRARIES := \
libcutils \
libutils \
libbinder

LOCAL_PRELINK_MODULE := false

LOCAL_MODULE:= libhelloworld

include $(BUILD_SHARED_LIBRARY)

-frameworks\base\cmds\helloworld\Android.mk
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES:= \
main_helloworldservice.cpp

LOCAL_SHARED_LIBRARIES := \
libutils \
libbinder \
libhelloworld

#LOCAL_C_INCLUDES := \
#$(LOCAL_PATH)/../libs/helloworld

base := $(LOCAL_PATH)/../..

LOCAL_MODULE:= helloworldservice

include $(BUILD_EXECUTABLE)

include $(CLEAR_VARS)

LOCAL_SRC_FILES:= \
main_helloworldclient.cpp

LOCAL_SHARED_LIBRARIES := \
libutils \
libbinder \
libhelloworld

#LOCAL_C_INCLUDES := \
#$(LOCAL_PATH)/../libs/helloworld

base := $(LOCAL_PATH)/../..

LOCAL_MODULE:= helloworldclient

include $(BUILD_EXECUTABLE)


그래서 여러번 make 파일을 수정해서 해보다가 이것도 되질 않아서 build/core/pathmap.mk 에 framework 빌드패스를 추가해 빌드는 되었지만 여전히 lib/exe 파일이 생성이 되질 않았습니다.  

#
# A list of all source roots under frameworks/base, which will be
# built into the android.jar.
#
FRAMEWORKS_BASE_SUBDIRS := \
$(addsuffix /java, \
    core \
    graphics \
    location \
    media \
    media/mca/effect \
    media/mca/filterfw \
    media/mca/filterpacks \
    drm \
    opengl \
    sax \
    telephony \
    wifi \
    keystore \
//하기부분을 추가해서 framework에서 빌드시 함께 되는지 확인해봤지만,빌드는 되었지만 lib/exe파일 생성이 되질 않더군요.
    libs/helloworld \
    include/helloworld \
    cmds/helloworld \
 )

예제소스는 첨부에 올려놨습니다. 

고수분들의 조언 부탁합니다. 

감사합니다. 

고도리

2015.04.20 11:17:38
*.151.13.33

아직 안 돌려 봤는데...........돌려 봐야지 하면서 못돌려 보고 있습니다...ㅠ.ㅠ


다음주 정도에 돌려보고 말씀 드릴 수 있겠네요...ㅎ

rion110

2015.04.27 20:50:21
*.196.81.211

관심 어린 말씀 감사드립니다. ^^



List of Articles
번호 제목 글쓴이 날짜 조회 수

사용자 로그인