서적에 관한 질문 및 오류 등을 문의 할 수 있으며, 저자로부터 직접 답변을 받을 수 있습니다.

ndk 예제를 응용해 보려고 하는데요


책에 있는 소스에서 제가 사용중인 라이브러리를 추가하여 실행 시키려고 하는데 에러가 나는데요


//------------------------------------

//-----libled/Android.mk

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := eng
LOCAL_SRC_FILES:= \
    ledService.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../include   <----헤더추가
LOCAL_SHARED_LIBRARIES := \
       libutils    \
       libbinder    \
        libLAPI      \  <---- shared library 추가


LOCAL_PRELINK_MODULE := false
LOCAL_MODULE := libled
include $(BUILD_SHARED_LIBRARY)

//------------------------------------




//------------------------------------ledService.h

#include <utils/RefBase.h>
#include <binder/IInterface.h>
#include <binder/Parcel.h>

#include "../include/LAPI.h" <-----헤더파일 추가


namespace       android
{
    class           LEDService:public BBinder
    {
        int32_t         mNextConnId;
      public:
        static int      instantiate();


                        LEDService();
                        virtual ~ LEDService();
                       
        virtual status_t onTransact(uint32_t, const Parcel &, Parcel *, uint32_t);
    };
};                              // namespace


-----------------------------

binder 영역에서 C라이브러리를 이용하여 코드를 만들려고 이렇게 했는데요

위 처럼 헤더만 추가해서 mm으로 빌드한후에


ledservice를 실행하니깐

Segmentation fault 메시지가 바로 나오더라구요;;


LAPI는 제가 테스트용으로 만든 라이브러리이구요  암보드에서 라이브러리 이용해서 동작테스트까지 다 해봤습니다.


헤더만 추가했는데.

Segmentation fault가 나오는데;; 라이브러리 경로나 설정을 잘못 지정한건가요?;;







전호철

2015.02.04 02:33:15
*.162.60.30

아마....

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../include   <----헤더추가 
하셨으니
#include "../include/LAPI.h" <-----헤더파일 추가
이렇게 하지 말고
#include <LAPI.h> <-----헤더파일 추가
이렇게 하셔야 할것 같네요.

Segmentation fault 떨어지는 문제같은거는 core dump 분석하는 법을 공부하셔서 해결하시는게 좋아보입니다.

ice179

2015.02.04 02:36:01
*.150.142.33

null 참조하거나 그럴때 Segmentation fault  가 나는데

android 환경 터미널에서 gdb나 디버그할수 있느 방법이 있나요?

 

헤더선언을 #incude "LAPI.h"로 하면 경로 에러가 나네요 기존에 "../include/LAPI.h"는 컴파일은 잘 되긴했는데요

고도리

2015.02.04 05:57:20
*.200.239.210

logcat을 띄워 놓으신 후


ledservice를 실행하시면 ledservice가 죽는 포인트를 debug message로 보여줍니다.

함수까지 나오니, 대략 알 수 있을겁니다.


보통은 파일이나 device driver 접근에 대한 permission 문제가 많습니다.

List of Articles
번호 제목 글쓴이 날짜sort 조회 수
103 ndk를 이용하여 일반 안드로이드 어플을 만들수가 있나요? [3] biokk 2015-07-25 1024
102 3장 계산기 에러 file [2] happy_hacking 2015-06-02 456
101 ndk 라이브러리추가 하는 질문입니다 [8] ice179 2015-02-11 820
100 ndk onTransact 함수에 대한 질문인데요 [1] ice179 2015-02-07 247
» ledservice , 라이브러리 추가 관련한 질문입니다 [3] ice179 2015-02-04 341
98 ndk 함수에서 c언어 동작은 onTransact 에서만 동작하나요? [3] ice179 2015-02-03 362
97 android binder 의 onTransact(uint32_t code, ...)의 code값은 ... [1] ice179 2015-01-29 290
96 gpio 컨트롤 예제질문입니다. [3] biokk 2015-01-21 647
95 gpio 컨트롤관련하여 ledservice 가 바로 죽어 버리는현상이 나오는... [2] biokk 2015-01-17 224
94 안드로이드 ndk gpio컨트롤 하기 질문입니다. [2] ice179 2015-01-16 433
93 pluscalc 질문입니다. [1] 여월광 2014-04-05 3898
92 아..권한 하고 마운트 에서 막혀버리네요..ㅜㅜ [1] 여월광 2014-03-09 7291
91 다시 질문 드립니다.ㅜㅜ apk 설치문제입니다. [3] 여월광 2014-03-07 9131
90 hoffplay 컴파일 질문 입니다. [2] 여월광 2014-03-03 5690
89 hoplayer_core 질문입니다. [2] 여월광 2014-03-03 4302
88 ffmpeg 빌드관련 질문드립니다 file [6] 시그인트 2014-02-11 4225
87 hoffplay 빌드시 sec_format.h / SEC_OMX_Def.h 없다고 나옵니다. [3] 네이쳐 2013-12-06 4874
86 너무 자주 질문드리는 것 같아 죄송해요 ^^; [1] 네이쳐 2013-12-05 4467
85 ffmpeg 빌드에러 [2] 네이쳐 2013-12-05 4743
84 동영상 파일을 열때 avformat_open_input문 사용문의 [2] 네이쳐 2013-12-04 4878

사용자 로그인