2010-08-26 2 views
4

Я ищу простой пример связующего IPC в C/C++. Недавно я начал читать об основах Android Binder (http://bharathi.posterous.com/android-binder) и прошел через код в Android-источнике. Большая часть части использования связующего находится на C++. Может кто-нибудь объяснить, почему C++ используется вместо C?Android Binder Пример

ответ

4

Отъезд http://github.com/mcr/Android-HelloWorldService (если вы используете более поздние версии андроида, вам, возможно, придется обменять некоторые из них от #include <utils/something> до #include <binder/something>).

Вы также можете загрузить исходный код андроид и посмотреть на каркасы/базы/камеры/тесты/CameraServiceTest/CameraServiceTest.cpp

Будьте здоровы!

+0

Спасибо Сэм. Я прошел через некоторые из родных сервисов. Но сложность тысяч услуг блокирует базовое понимание концепции связующего. Надеюсь, этот пример поможет мне понять связующее :) – Midson

+0

Можете ли вы успешно скомпилировать этот код? – Midson

+0

Спасибо Сэм, пример Wonder для понимания abth android binder. Я downlaoded образец, и я строю с исходным кодом Android, размещенным HelloWorldService в пакетах/приложении, и я создал apk и, следовательно, файлы. Но SERVICe не создается .... получение следующих журналов:> ERROR/HelloWorld (491): services :::::: [Ljava.lang.String; @ 4051b358> ERROR/HelloWorld (491): службы ДЛИНА - 5 ОШИБКА/HelloWorld (491): > services isMyServiceRunning ::: false ERROR/HelloWorld (491): > services [0] = null ERROR/HelloWorld (491): services [1] = null> ERROR/HelloWorld (491): услуги [2] = null ERROR/HelloWorld (491): > serv –

1

Я смог получить собственное приложение для компиляции и работы с исходным кодом Android 2.3. Для этого я должен был сделать два изменения: 1-е - это изменение пути связующего файла с файлами от и до второго, чтобы включить libbinder в makefile файла libhelloworldservice.

Спасибо за этот простой пример, иллюстрирующий использование связующего.

Смежные вопросы