Chinaunix首页 | 论坛 | 博客
  • 博客访问: 344051
  • 博文数量: 42
  • 博客积分: 1896
  • 博客等级: 上尉
  • 技术积分: 615
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-19 14:47
文章分类

全部博文(42)

文章存档

2012年(1)

2011年(21)

2010年(16)

2009年(4)

分类: 嵌入式

2011-10-24 10:21:10

Android中的Service注册方式:
1.native C++实现的service,目前源码中有2种注册方式,一种是与硬件交互的一些service在system_server进程中注册,{repo_root}/frameworks/base/cmds/system_server/library/system_init.cpp;另外一种是在自己的进程中进程注册,但是需要在{repo_root}/frameworks/base/cmds/service_manager.c中的alliow数组中添加uid和service name。

2.在java层面实现的框架级别的service(如ActivityManagerService等)的注册在{repo_root}/frameworks/base/services/java/com/android/server/SystemServer.java,这些注册在init2阶段被调用。在看过的例子发现另外一个在应用中注册这种级别的service的方法是:添加permissons文件、AndroidManifest文件使用android:sharedUserId="android.uid.system"和应用的Android.mk文件中添加LOCAL_CERTIFICATE := platform。(当然这个app放在Android源码中进行编译)

3.应用的service,在AndroidManifest.xml中使用service标签声明即可。
阅读(3437) | 评论(0) | 转发(0) |
0

上一篇:Android编译相关

下一篇:spinlock(自旋锁)

给主人留下些什么吧!~~