인사이드 안드로이드의 네이티브 서비스 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가지 모두 정상적으로 서비스에 추가가 되질 않습니다.
아시는분 계신가요?