【Android Native Code开发系列】六 一个Native Service的完整示例

/*
* blackboy   psyc209@163.com
* QQ群: 135202158
* 转载请注明作者及出处
*/


关于Android Native Service的简介及一些例子, 还可以参考longfeey的大作: http://blog.csdn.net/longfeey/article/details/5887026



1. 准备工作

(1)因为要调用Android源代码的framework/base里的一些类,所以要确保有android相关源代码

(2)需要交叉编译器, 链接器等工具, 这个可以使用anroid源码里提供的工具,也可以使用单独下载的android ndk

(3)可选: 如果在模拟器(AVD)上运行和调试, 还需要有编译好或者单独下载的android sdk及相应的组件等等, 关于各种组件需求,见

http://developer.android.com/sdk/installing.html#components提到的"Recommended Components", 确保满足"Basic"需求 

这里用的环境是android源码+单独下载的SDK(包括sdk toos, sdk platform tools和platform组件)


2. 在android源码主目录/development子目录下建立工程目录, 我们的各个模块的代码都将放在这个目录的子目录下

cd  ~/android/development
mkdir zp_module


3. 建立service目录,里面放要做的native service源码


ZPService.h

#ifndef ANDROID_ZPSERVICE_H
#define ANDROID_ZPSERVICE_H

#include <utils/RefBase.h>
#include <binder/IInterface.h>
#include <binder/Parcel.h>

namespace android
{
	class ZPService : public BBinder
	{
	private:
		//mutable Mutex m_Lock;
		//int32_t m_NextConnId;

	public:
		static int Instance();
		ZPService();
		virtual ~ZPService();
		virtual status_t onTransact(uint32_t, const Parcel&, Parcel*, uint32_t);
	};
}

#endif


ZPService.cpp

#include <binder/IServiceManager.h>
#include <binder/IPCThreadState.h>
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值