android添加系统服务



1.在frameworks\base\core\java\android\app目录下添加两个文件:

Ilbd.aidl 

package android.app;

interface Ilbd{
 void setName(String name);
}


 lbdManager.java

package android.app;

import android.os.RemoteException;
import android.util.Log;

public class lbdManager{
 private Ilbd mService;

 public lbdManager(Ilbd service) {
  mService = service;
 }

 public void setName(String name) throws RemoteException {
  // TODO Auto-generated method stub
  Log.e("lbdManager", "success");
 }

}


2.打开相同目录下ContextImpl.java

添加以下代码

registerService("lbd", new StaticServiceFetcher() {
                public Object createStaticService() {
                    IBinder b = ServiceManager.getService("lbd");
                    Ilbd service = Ilbd.Stub.asInterface(b);
                    return new lbdManager(service);
                }});


3.打开frameworks\base目录下Android.mk添加这么一行

LOCAL_SRC_FILES += \
 ....
    core/java/android/app/Ilbd.aidl \

4.打开frameworks\base\services\java\com\android\server目录,添加文件lbdServiceClass.java

package com.android.server;

import android.app.Ilbd;

public class lbdServiceClass extends Ilbd.Stub {

    public lbdServiceClass() {
    }
    
	public void setName(String name) {
		
	}
}

5.打开同目录下的SystemServer.java,在initAndLoop() 中添加如下代码

try {
	            Slog.i(TAG, "lbd");
	            ServiceManager.addService("lbd", new lbdServiceClass());
            } catch (Throwable e) {	            Slog.e(TAG, "Failure startinglbdServiceClass", e);
            }


6.回到framework同级目录,用make update-api -j4命令更新接口


7.在framework同级的目录下会生成一个out文件


8.在out\target\common\obj\JAVA_LIBRARIES\framework_intermediates这个目录下的classes.jar可以导入Eclipse使用我们做好的系统服务lbdManager

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值