2007 2013 Kandroid
www.kandroid.org »
kandroid s/w fundamentals 교육 »
Android 기술 Q&A 
Q&A 게시판에 질문을 남기신 글에 대한 답변/덧글/쪽글에 대한 Push 메일 서비스를 받고자 하시는 분들은
☞ Push 메일 서비스 공지를 필독하시기 바랍니다.
Native Service 부팅시 서비스로 등록이 안되요
작성자 Mazel_Tov
작성일 2011-11-23 (수) 16:43
분 류 질문
ㆍ추천: 0  ㆍ조회: 1669      
IP: 220.xxx.97
안녕하세요~

인사이드 안드로이드의 네이티브 서비스 HelloWorld 를 구현해서 테스트 해보는중인데요..

예제대로 구현한 다음에

adb shell로 접속하여

$ helloworldservice&
$ helloworldclient
hello world
$

까지 정상적으로 동작하는것을 확인을 했습니다.

물론 service list로도 서비스가 등록되는것을 확인했구요

그런대 서비스를 부팅시 등록시켜보려고 하는대요
2가지 방법을 취해보았으나..잘안되는군요...
아래는 제가 시도한 2가지 방법입니다.

1. init.rc에 Android Init Language에 맞게 서비스로 추가
service helloworldservice /system/bin/helloworldservice
    user root
    gorup root

2. mediaserver에 "HelloWorldService::instantiate();" 추가

int main(int argc, char** argv)
{
    sp<ProcessState> proc(ProcessState::self());
    sp<IServiceManager> sm = defaultServiceManager();
    LOGI("ServiceManager: %p", sm.get());
    AudioFlinger::instantiate();
    MediaPlayerService::instantiate();
    CameraService::instantiate();
    AudioPolicyService::instantiate();

    HelloWorldService::instantiate();

    ProcessState::self()->startThreadPool();
    IPCThreadState::self()->joinThreadPool();
}

2가지 모두 정상적으로 서비스에 추가가 되질 않습니다.

아시는분 계신가요?
이름아이콘 고도리
2011-11-25 08:04
인사이드 안드로이드의 해당 부분을 보지 않아서 소스가 어떻게 되어 있는지는 잘 모르겠지만,
1번은 소스가 mediaserver와 유사하게 되었으면 실행이 제대로 되어야 정상이고요.
2번은 mediaserver에서는 등록이 안됩니다. 반드시 1번처럼 해야합니다. 이유는 servicemanager에서 특정 id에서는 특정 서비스만 등록시키도록 되어 있습니다. 튕겨냅니다....
   
이름아이콘 고도리
2011-11-25 08:07
만일 mediaserver에서 등록하시려면 servicemanager를 수정하시는 것도 하나의 방법이겠네요.
Mazel_Tov 안녕하세요 고도리님
(클릭잘못으로 쓴답변이 삭제됨ㅜ.ㅜ)
servicemanager에서 그러한 내용이 있는지 몰랐네요;; ^^
1번은 에뮬레이터에서 해서그럴수도 있을꺼같아서..
지금 기기에 올려서 테스트를 해보려고 하고 있습니다..
답변감사드립니다.
12/5 14:31
   
이름아이콘 liebeym
2011-11-28 19:17
1. 1번과정은 정상적으로 등록이 되는 script입니다.
2. 혹시 ICS기반 소스로 작업하시나요?  그럼 class group을 지정하셔야 합니다.
service helloworldservice /system/bin/helloworldservice
  class main #이걸 추가 해주셔야 합니다.
   user root
   gorup root
Mazel_Tov 《Re》liebeym 님 ,
아.. ICS에서는 class group 을 추가해줘야 하는구요..^^
제가 작업중인 소스는 2.3.7 (gingerbread) 입니다.
지금은 단순히 소스 빌드후에 생성된 이미지파일들을 ADT 에뮬레이터로 테스트하는중입니다.
그런데 1번 잘안되네요..ㅜ.ㅜ 혹시 에뮬레이터라서 그런걸까요?
12/5 14:30
   
 
덧글 쓰기 0
3500
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.
    N     분류     제목    글쓴이 작성일 조회
4527 질문 죽지않는 서비스 관련 질문입니다. [2] 트부기 2012-08-17 1822
4526 질문 안드로이드 db생성 관련 문의드립니다. [2] evil 2012-08-16 1116
4525 질문 홈런처 개발질문 [1]+1 까리버거 2012-08-07 1128
4524 질문 아프리카같은 음성 방송용 어플 만들 수 있을까요?.. 자룡의후예 2012-08-01 917
4523 질문 VPN중 pptp연결중 오류에 대해 질문 드립니다. 곰춘 2012-07-30 898
4522 질문 android_native_app_glue를 이용한 native앱 구현에 관해.. 안드로보잉 2012-07-26 1038
4521 Encryption 관련해서 포커페이스 2012-07-25 1006
4520 질문 DB쿼리문을 반복문안에 넣으면 안되나요??ㅠㅠㅠㅠ.. 컁켱캥 2012-07-20 1057
4519 질문 [App] Bluetooth Sniff(Sleep 모드)관련 건슨신 2012-07-20 1045
4518 질문 넥서스 7에 윈도우 8 멀티부팅 지원여부 마인부우 2012-07-18 2843
4517 [문의] REAL TARGET BOARD 없이 안드로이드 포팅기술 익히기.. 야곱 2012-04-27 1495
4516 질문 Android 버전별 지원 해상도 문의 kang39 2012-07-16 1046
4515 질문 1080p HD 동영상 플레이에 대해 문의드립니다 [1] dandyman 2012-07-16 952
4514 안드로이드 빌드시 framework.jar, service.jar 생성이 안됩니.. 걷기 2012-07-13 1492
4513 안드로이드 serial 통신에 대해 알고 싶습니다. 오요 2012-07-13 1218
4512 질문 mysql, php, 안드로이드 관련 질문드립니다. 진리추구자 2012-07-12 1491
1,,,11121314151617181920,,,293