I wrote a dummy "HelloWorld" service and client. It uses Binder for IPC. For some this is likely "duh", but it did take me several days of puzzling to work things out. I think some of the problem is that there is some dead code in IMediaPlayerClient.cpp, which I was using as my guide. I'm convinced that it should be possible to see the services from Java Binder/ServiceManager code, and avoid a layer of JNI (and thus an NDK invocation) between a Java application and a C++ service, but I didn't manage that. The bird droppings in the src/org/credil/...*.java are my attempts, ignore them, or better yet, fix them. Push the three pieces generated: libhelloworldservice.so (to /system/lib), and helloworldservice, and helloworldclient to /data. (See deploy.sh, and buildit.sh) adb shell cd /data ./helloworldservice & ./helloworldclient I hope that this code will help others from scratching their head a lot. https://review.source.android.com/12454 is one suggestion I have to make other writers of code like this easier. Probably I'm posting to the wrong mailing list, sorry. I can not keep up with these mailing lists. My code is at: http://github.com/mcr/Android-HelloWorldService
andrecurvello/Android-HelloWorldService
This is a skeleton application that creates an Android service in C++, accessing it via Java/Binder.
C++