Android 源码分析
文章平均质量分 79
刘云
这个作者很懒,什么都没留下…
展开
-
Bootloader启动Main system 和 Recovery
一、MTD分区:BOOT: boot.img,Linux kernel (within normal ramdisk)MISC: bootloader message structRECOVERY: recovery.img,Linux kernel (within recovery ramdisk)SYSTEM: system.img转载 2014-07-18 10:21:10 · 3408 阅读 · 0 评论 -
Android系统APN配置详解
Android 系统APN配置详解 这些天一直在调系统原生的Settings.apk里面APN配置的问题,在设置里面手动增加了APN配置选项,但是在界面上还是看不到。所以跟了下代码,原以为就是简单的页面显示的问题,这一跟不要紧,一下就快追到HAL层去了(NND). 首先看Settings.apk的源码,位于packages/apps/Settings/src/co原创 2014-04-18 09:51:13 · 7943 阅读 · 0 评论 -
Android之Media播放器源码分析(framework——native)
一、概述: 声明:下面我们看的是Android 4.0版本下的Media播放器的框架,我们首先从一个简单的media播放器apk源码入手,从Java->JNI->C/C++一步步研究Android是如何通过Java一个MediaPlayer实现解码到屏幕的输出。 通常在Android中播放视频用到的是MediaPlayer类,展示视频使用的是SurfaceV原创 2014-03-17 16:16:36 · 10643 阅读 · 2 评论 -
Android Media框架之stagefright与opencore对比
stagefright与opencore对比(转)1引言Android froyo版本多媒体引擎做了变动,新添加了stagefright框架,并且默认情况android选择stagefright,弃用之前的opencore,仅仅对opencore中的omx-component部分做了引用。Stagefright自android2.0后才添加,其稳定性有待商榷,是否存在bug也未知,转载 2013-11-05 15:22:37 · 2865 阅读 · 0 评论 -
android HAL介绍
目录(?)[+]硬件抽象层是位于用户空间的Android系统 和位于内核空间的Linux驱动程序中间的一个层次Android 系统实际关心的只是硬件抽像层,并不关心驱动程序,将Android系统的部分功能和Linux中的驱动程序隔离,Android不依赖于Linux的驱动程序。硬件抽象层接口方法1 hardware模块的方式Andro转载 2013-10-27 22:30:03 · 1620 阅读 · 0 评论 -
Android Rild模块源码分析
Android 电话系统框架介绍在android系统中rild运行在AP上,AP上的应用通过rild发送AT指令给BP,BP接收到信息后又通过rild传送给AP。AP与BP之间有两种通信方式:1.Solicited Response:Ap向Bp发送请求,Bp给Ap发送回复,该类型的AT指令及其回调函数以数组的形式存放在Ril_commands.h文件中: {数组中的索引号,请转载 2013-09-26 20:12:24 · 3042 阅读 · 0 评论 -
Android资源文件分析
1)修改开机默认壁纸 Android开机默认资源文件为:frameworks/base/core/res/res/values/config.xml我们找到wallpaper行:@null系统默认壁纸一般是一张静态图片,这里设置的静态图片为@null空,那么壁纸到底在什么地方设置的呢?系统是在packages/apps/Launcher2/res 目录下根据配置文件找到原创 2013-09-14 13:19:44 · 2625 阅读 · 0 评论 -
Android MediaScanner 详尽分析
MediaScanner分析一 MediaScannerService多媒体扫描是从MediaScannerService开始的。这是一个单独的package。位于packages/providers/MediaProvider:含以下java文件l MediaProvider.javal MediaScannerReceiver.javal转载 2013-07-20 23:58:41 · 1334 阅读 · 0 评论 -
Android之Zygote启动详解
Android启动Zygote原创 2014-06-20 10:24:40 · 2294 阅读 · 0 评论 -
Android消息处理机制(Handler、Looper、MessageQueue与Message)
Android消息处理机制(Handler、Looper、MessageQueue与Message)Android是消息驱动的,实现消息驱动有几个要素:消息的表示:Message消息队列:MessageQueue消息循环,用于循环取出消息进行处理:Looper消息处理,消息循环从消息队列中取出消息后要对消息进行处理:Handler平时我们最常使用的就是Message与Handler转载 2014-08-06 14:21:09 · 2612 阅读 · 0 评论 -
Android启动之init.c文件main函数分析
Android启动进入用户空间的第一个进程init.c文件main()函数的详细分析,包括如何管理service、action等等。原创 2013-07-30 18:20:50 · 5280 阅读 · 2 评论 -
Android开发之Thread类分析
在我们Linux系统中创建线程函数为:pthread_create(),在Android中我们为线程封装了一个类Thread,实际调用的还是pthread_create()当我们想创建线程的时候,只需要继承于这个Thread类并实现虚函数thread_loop()即可。frameworks/base/include/utils/threads.hclass Thread : virt原创 2013-08-02 22:49:41 · 9279 阅读 · 1 评论 -
Android开发之ProcessState和IPCThreadState类分析
Android中ProcessState和IPCThreadState分析详解原创 2013-08-04 18:25:35 · 12602 阅读 · 2 评论 -
Android开发之Camera(三)
Android Camera具体实现原创 2013-07-23 11:37:36 · 2947 阅读 · 0 评论 -
Android开发之Camera分析(二)
前面一章我们已经找到了CameraService如何在mediaService中注册,并提供BpCameraService代理类接口。下面我们分析client是如何连接到server获取服务,打开Camera模块的。在Camera的jni文件android_hardware_camera.cpp中,我们提供Camera的一些初始化、连接等操作。frameworks/base/jni/and原创 2013-07-19 14:00:13 · 4631 阅读 · 1 评论 -
Android开发之Camera分析(一)
Android之Camera服务分析 Android系统中Camera是作为mediaservice服务中的一项,在开机过程中启动的。/frameworsk/base/media/mediaserver/main_mediaserver.cpp:int main(int argc, char** argv){ sp proc(ProcessState::sel原创 2013-07-19 10:43:26 · 4344 阅读 · 0 评论 -
Android 开发之envsetup.sh配置lunch
1)source build/envsetup.sh 前面说过一般envsetup.sh一般做了如下几件事情: 1)加载编译时我们使用的基本函数命令:help、lunch、m、mm、mmm等。 2)查找vendor/厂商目录、device/厂商目录下的vendorsetup.sh,加载执行,添加厂商自己定义的产品原创 2013-07-16 11:30:23 · 9361 阅读 · 0 评论 -
Android 开发之JNI
我们知道Android中的apk开发一般都是用Java语言编写的,但是用到的系统服务和一些操作系统相关的都是用C/C++写的。而Java和C/C++之间的互相访问我们一般都是通过JNI来打通通道的。Java和C/C++之间的调用主要分两种:Java域访问C域,这也是最常见的。和C域访问Java域,例如Android启动过程中Zygote的启动。 Java域调用C域的函数 1)在J原创 2013-07-22 17:56:40 · 2042 阅读 · 0 评论 -
Android开发之serviceManager分析
Android 开发之serviceManager分析原创 2013-08-01 15:40:28 · 3320 阅读 · 1 评论 -
Android下编译OTA升级包
1)概念介绍 我们知道Android系统一般可以通过本地升级和空中升级两种,一般本地升级包括SD卡升级、U盘升级、串口升级等。而所谓的空中升级就是通过网络将升级包下载升级包到本地,进行升级。 而OTA升级作为Android系统提供的标准软件升级方式,同时支持本地升级如SD卡或U盘 和 空中升级如网络。OTA升级一般分为全包升级和差分升级。 全包升级:原创 2013-07-26 10:58:31 · 5930 阅读 · 0 评论 -
Android Bootloader - Main system - Recovery
一、MTD分区:BOOT: boot.img,Linux kernel (within normal ramdisk)MISC: bootloader message structRECOVERY: recovery.img,Linux kernel (within recovery ramdisk)SYSTEM: system.img转载 2013-07-26 18:01:09 · 4249 阅读 · 0 评论 -
Android开发之MediaPlayerService服务详解(一)
Android中MediaPlayerService如何向服务总管ServiceManager注册服务,以及客户端如何获得BpMediaPlayerService代理。原创 2013-08-06 20:58:42 · 5625 阅读 · 2 评论 -
Android系统中的消息处理Looper、Handler、Message
Android系统中消息处理 Message Looper Handler原理: Android系统中每个线程可以拥有唯一一个Looper实例,在Looper的构造函数中创建一个唯一的消息队列MessageQueue,即MessageQueue对于线程来说也是唯一的。而Android应用在启动的时候默认会为主线程创建一个Looper实例,称为MainLooper,并借助里相关的Handler和Looper里面的Mes原创 2013-08-27 23:03:08 · 5057 阅读 · 2 评论 -
Android开发之fsl在HAL层Camera的实现
通过前面分析Camera我们知道在framework层主要就用到了两个结构体:struct camera_module_t;struct camera_device_t;通过这两个结构体我们就和hal层联系起来了。下面我们通过fsl的HAL层源码来分析下Camera在HAL的具体实现。原创 2013-08-20 20:02:18 · 3835 阅读 · 1 评论 -
Android开发之Memory类的分析
Android IMemory 内存管理类分析原创 2013-07-25 17:56:44 · 6769 阅读 · 0 评论 -
Android boot.img介绍
android 的boot.img 包括 boot header,kernel, ramdisk首先来看看Makefile是如何产生我们的boot.img的:boot镜像不是普通意义上的文件系统,而是一种特殊的Android定制格式,由boot header,压缩的内核,ramdisk以及second stage loader(可选)组成,可以从mkbootimg.h文件中看到。boo转载 2013-08-06 21:00:43 · 14011 阅读 · 0 评论 -
Android学习之envsetup.sh
Android 开发之envsetup.sh 1,基本概述 Android源码下载之后一般编译之前都需要source环境变量build/envsetup.sh。脚本主要是一些基本函数,和配置编译工具和路径等。 export PATH=$PWD/bootable/bootloader/uboot-imx/tools:$PATH export ARCH=ar原创 2013-07-15 21:02:02 · 3410 阅读 · 0 评论