Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mcr/Android-HelloWorldService

This is a skeleton application that creates an Android service in C++, accessing it via Java/Binder.
https://github.com/mcr/Android-HelloWorldService

Last synced: 17 days ago
JSON representation

This is a skeleton application that creates an Android service in C++, accessing it via Java/Binder.

Awesome Lists containing this project

README

        

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