- 博客(12)
- 资源 (13)
- 收藏
- 关注
原创 Android camera系统开发之IPC (五)
<br />四连接建立后的client和Service的通信过程:这里以CameraService::connect()为例进行说明。<br /> <br />@Camera.cpp<br />sp<Camera> Camera::connect()<br />{<br /> LOGV("connect");<br /> sp<Camera> c = new Camera();<br /> const sp<ICameraService>& cs = getCameraService();
2010-11-30 16:54:00 2995 2
原创 Android camera系统开发之IPC (四)
<br />三获取一个CameraService服务代理<br /> <br />获取服务接口的唯一方法就是通过IServiceManager::getService()函数。假设Camera preview需要获取一个ICameraService。<br /> <br />@camera.cpp<br />const sp<ICameraService>& Camera::getCameraService()<br />{<br /> Mutex::Autolock _l(mLock);<br />
2010-11-30 16:35:00 2336
原创 Android camera系统开发之IPC (三)
<br />二,CameraSerivce服务的注册<br />同样在init.rc中能看到如下语句<br /> service media /system/bin/mediaserver<br /> user media<br />group system audio camera graphics inet net_bt net_bt_admin<br />这个服务的入口是Main_mediaservice.c中的main()函数。而且是在servicemanager服务之后才启动的。<br
2010-11-29 16:47:00 2517
原创 Android camera系统开发之IPC (二)
<br />一 系统服务管理器启动<br /> <br /> <br />参考Android init 详细过程分析,我们知道系统在INIT进程中会分析INIT.RC<br />我们从init.rc中能看到如下代码<br />@init.rc<br />…<br />service servicemanager /system/bin/servicemanager<br /> user system<br /> critical<br /> onrestart restart z
2010-11-25 15:05:00 2106
原创 Android camera系统开发之IPC (一)
<br />Android使用Binder机制来实现IPC, Binder通信是借助linux的binder driver来实现的,两个进程间IPC感觉就象是一个进程进入另一个进程执行代码一样,而且在本地能返回远端函数的返回结果。Binder的用户空间为每一个进程维护着一个可用的线程池,线程池用来处理到来的调用请求的消息,包括请求的消息,和远端响应的消息。<br />Android中的Binder通信是基于Service与Client的架构,所有需要IBinder通信的进程都必须创建一个IBinder接口,
2010-11-25 11:08:00 2126
原创 Android camera系统开发之总括
最近在从事有关Android Camera开发相关的工作,发现这一块还是比较复杂,从网络上也得到很多相关资料,但是都比较分散,对于出现的问题很难有个全面地了解与定位。 根据我自己的习惯,我比较喜欢把整个框架先大概了解一下,再针对某个部件进行认真分析,这样在出现问题的时候就可以做到有的放矢。 目前发现系统无法上传我的图片,可能是我本地系统加密的原因 ,只能这样凑合了Camera Sensor driverCamera Java API frameworks/base/core/java/and
2010-11-22 14:23:00 2960
转载 Android init 详细过程分析
分析android的启动过程,从内核之上,我们首先应该从文件系统的init开始,因为 init 是内核进入文件系统后第一个运行的程序,通常我们可以在linux的命令行中指定内核第一个调用谁,如果没指定那么内核将会到/sbin/, /bin/ 等目录下查找默认的init,如果没有找到那么就报告出错。下面是曾经用过的几种开发板的命令行参数:S3C2410 启动参数:noinitrd root=/dev/nfs nfsroot=192.168.2.56:/nfsroot/rootfs ip=192.168.
2010-11-18 11:14:00 2175
转载 Linux启动过程综述
Bootloader在Alpha/AXP平台上引导Linux通常有两种方法,一种是由MILO及其他类似的引导程序引导,另一种是由Firmware直接引导。MILO功能与i386平台的LILO相近,但内置有基本的磁盘驱动程序(如IDE、SCSI等),以及常见的文件系统驱动程序(如ext2,iso9660等), firmware有ARC、SRM两种形式,ARC具有类BIOS界面,甚至还有多重引导的设置;而SRM则具有功能强大的命令行界面,用户可以在控制台上使用boot等命令引导系统。ARC有分区(Partiti
2010-11-18 10:50:00 1528
转载 Android HAL的作用及编程实例
HAL介绍Android 的 HAL(硬件抽像层)是 Google 因应厂商「希望不公开源码」的要求下,所推出的新观念,其架构如下图。虽然 HAL 现在的「抽象程度」还不足,现阶段实作还不是全面符合 HAL 的架构规划,不过也确实给了我们很好的思考空间。图1:Android HAL 架构规划图2:Android HAL / libhardware_legacy图3:Android HAL / libhardwareHAL 的未来发展?新的 HAL 做法,倾向全面采用 JNI 的方式进行。也就是,在 Andr
2010-11-18 10:23:00 2513
原创 Linux kernel起来后android 之init详解
<br />Linux kernel起来后运行的第一个应用程序就是init,<br />Init属于linux下一个应用程序,其源码在 system/core/init中,main是应用程序的入口。从main()函数就可以知道init主要功能。<br />main()<br />(1)安装SIGCHLD信号。(如果父进程不等待子进程结束,子进程将成为僵尸进程(zombie)从而占用系统资源。因此需要对SIGCHLD信号做出处理,回收僵尸进程的资源,避免造成不必要的资源浪费。<br /> act
2010-11-18 09:19:00 5591
转载 Linux kernel起来后Android启动过程
After linux kernel start , it would start the first init process,(1) init进程启动(2) Native服务启动(3) System Server,Android服务启动(4) Home启动
2010-11-17 10:49:00 1609
转载 Android 研究之路从这里开始
<br />Mr Max have some good start, please touch the below anchor<br />http://blog.csdn.net/maxleng/archive/2010/04/10/5471557.aspx
2010-11-16 17:17:00 957
orbslam2 代码详细解读
2018-04-26
seeface 基于androidstudio2.2.2 的android 实现
2017-12-03
android上基于tess-two 的ocr 身份证识别系统
2017-10-17
基于Tesseract的身份证识别Android端应用
2017-10-14
opencv contrib master 包,编译opencv3.2.0 android,windows 都通过的
2017-09-17
opengl gpufilter for camera preview and image edit
2017-07-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人