![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 93
cosmoslhf
这个作者很懒,什么都没留下…
展开
-
Android系统init分析
init是一个守护进程,是linux系统中用户空间的第一个进程,即1号进程。由于android是基于linux内核的,所以也是android系统中用户空间的第一个进程。Init进程需要完成极其重要的任务。下面分析init进程。它的位置在system\core\init\init.c,下面是入口程序:int main(int argc, char **argv){ int fd转载 2014-10-09 09:14:22 · 578 阅读 · 0 评论 -
Android 的 Recovery 模式分析
Recovery Binary: (http://wenbind.blogcn.com/) Recovery Binary 是 Android 进入 Recovery 模式所运行的程序,实现了 Recovery 模式下的功能。它由目录 bootable/recovery 下的源代码编译生成。头文件 bootable/recovery/recovery_ui.h 定义了 Recovery UI转载 2014-11-25 15:04:42 · 677 阅读 · 0 评论 -
Android 系统属性SystemProperty分析
Android System Property一 System Property 代码中大量存在:SystemProperties.set()/SystemProperties.get();通过这两个接口可以对系统的属性进行读取/设置,顾名思义系统属性,肯定对整个系统全局共享。通常程序的执行以进程为单位各自相互独立,如何实现全局共享呢?System Properties是怎么一回转载 2014-12-18 11:31:13 · 660 阅读 · 0 评论 -
Android应用程序开发以及背后的设计思想深度剖析
http://blog.csdn.net/21cnbao/article/details/7835255本文内容,主题是透过应用程序来分析Android系统的设计原理与构架。我们先会简单介绍一下Android里的应用程序编程,然后以这些应用程序在运行环境上的需求来分析出,为什么我们的Android系统需要今天这样的设计方案,这样的设计会有怎样的意义, Android究竟是基于怎样的考虑才变转载 2014-12-04 14:20:27 · 1418 阅读 · 0 评论 -
Android Bluetooth HID实现详解
Android Bluetooth HID实现详解Android 关于蓝牙的部分使用的是BlueZ协议栈。但是直到目前2.3.3都没有扩展HID的profile,只是实现了最基本的Handset和d2dp的profile,所以我们的工作涉及到从应用到jni三层的修改,具体修改文件如图所示,绿色表示新建的类,橙色表示修改的类。 一. 本地层路径:framework/base/co转载 2015-01-28 18:12:49 · 1358 阅读 · 0 评论 -
浅析Android权限机制(一) —— Android的权限机制
第一章 Android的权限机制 Android是基于Linux的系统,其权限访问控制自然离不开Linux的权限访问控制,而在第一章当中,将分成两个部分来剖析Android的权限控制系统。一. Linux权限机制 Linux的权限访问是由进程(访问者)和文件(被访问者)两部分组成的。其中相当一部分内容参考至APUE[1]。1.1 Llinux文件权限 我们转载 2014-12-06 13:50:11 · 701 阅读 · 0 评论 -
android进程创建分析
摘要 本文主要分析了当前热门手机平台android系统的进程创建分析。先简单介绍android的技术架构,然后概述android启动新程序的整体流程,接着详细分析程序启动中的进程创建。在分析中辅以代码解析,从而让读者能较为清晰的了解到android时如何通过进程创建来启动新程序的。Android架构 android是世界上最受欢迎的手机平台。它以linu转载 2015-01-30 17:35:06 · 678 阅读 · 0 评论 -
Android ART机制分析
一、Android系统性能提升之路 Dalvik虚拟机作为Android平台的核心组成部分之一,允许在有限的内存资源中同时运行多个虚拟机实例。Dalvik虚拟机通过以下方式提升性能:1、DEX代码安装时或第一次动态加载时odex化处理。2、Android2.2版本提供了JIT机制提升性能,号称性能提升3~5倍。3、提升硬件配置,如更多核CPU、更高频率CPU、更大的RAM等。转载 2014-12-09 13:36:09 · 1006 阅读 · 0 评论 -
StartActivity的流程 Activity组件之一Service--- BindService & unBindService
http://blog.csdn.net/siobhan/article/details/8184052http://blog.csdn.net/siobhan/article/details/8566883接着上一篇StartService,这章分析一下bindService的一个流程。在Android developer网站上有三种使用创建Bound Service的方法:转载 2015-02-04 15:44:52 · 1218 阅读 · 0 评论 -
android local service, service.java , binder
今天是开始记录学习的第二天,今天记录的东西大部分是以前学过的,今天在这里把它梳理成文,主要还是对以前学习的一个总结和回顾。知识除了积累还要经常温故,古语有云:温故而知新。1.Service的启动一般都是 某个组件调用startService 或者 bindService 2. 通过 Android特有的 Binder IPC机制 通知 ActivityServiceManager ,转载 2015-02-03 18:48:34 · 666 阅读 · 0 评论 -
Android Binder分析二:Natvie Service的注册
http://blog.csdn.net/lilian0118/article/details/23997249这一章我们通过MediaPlayerService的注册来说明如何在Native层通过binder向ServiceManager注册一个service,以及client如何通过binder向ServiceManager获得一个service,并调用这个Service的方法。Nat转载 2015-02-04 14:23:30 · 973 阅读 · 0 评论 -
linux下DMA API
本文描述DMA API。更详细的介绍请参看Documentation/DMA-API-HOWTO.txt。API分为两部分,第一部分描述API,第二部分描述可以支持非一致性内存机器的扩展API。你应该使用第一部分所描述的API,除非你知道你的驱动必须要支持非一致性平台。第一部分 DMA API为了可以引用DMA API,你必须 #include 1-1 使用大块DMA一转载 2014-11-29 18:32:21 · 859 阅读 · 0 评论 -
ION基本概念介绍和原理分析
目录(?)[+]ION初始化ION用户空间使用ION_IOC_ALLOCION_IOC_MAP ION_IOC_SHAREION_IOC_IMPORTION内核空间使用参考文档转载前的话:ION将内核态形形色色的内存分配纳入统一的管理接口之中,更重要的设计意图是为内存在不同用户态进程之间传递和访问提供了支持。每个ion_buffer与一个struct fil转载 2014-11-17 15:17:05 · 34709 阅读 · 5 评论 -
Audio Terminology
IN THIS DOCUMENTGeneric TermsDigital AudioHardware and AccessoriesAudio Signal PathAndroid-Specific TermsSample Rate ConversionThis document provides a glossary of au转载 2014-11-12 14:10:55 · 855 阅读 · 0 评论 -
理解 Android Build 系统
前言Android Build 系统是 Android 源码的一部分。关于如何获取 Android 源码,请参照 Android Source 官方网站:http://source.android.com/source/downloading.html。Android Build 系统用来编译 Android 系统,Android SDK 以及相关文档。该系统主要由 Make 文件,S转载 2014-11-12 14:11:54 · 542 阅读 · 0 评论 -
Android属性之build.prop生成过程分析
首页开源项目Java 开源软件C# 开源软件PHP 开源软件C/C++ 开源软件Ruby 开源软件Python 开源软件Go开源软件JS开源软件讨论区技术问答 » 技术分享 » IT大杂烩 » 职业生涯 » 站务/建议 » 支付宝专区 » 开源硬件专区 » 代码博客翻译资讯移动开发Android转载 2014-11-12 14:09:51 · 1679 阅读 · 0 评论 -
Notes on the implementation of encryption in Android 3.0
Android加密,挺实用一功能,e文看着费劲,磕磕巴巴翻译一下。-----------------------------------------------------------------------------原文地址:http://source.android.com/tech/encryption/android_crypto_implementation.html转载 2014-10-11 11:06:06 · 786 阅读 · 0 评论 -
深入理解SELinux/SEAndroid
接第二部分的内容(http://blog.csdn.net/innost/article/details/19641487)SEAndroid最后一部分全文PDF下载地址为:http://vdisk.weibo.com/s/z68f8l0xZUS9w二 SEAndroid源码分析有了上文的SELinux的基础知识,本节再来看看Google是如何在Android平台定制SELinu转载 2014-10-13 17:31:17 · 844 阅读 · 0 评论 -
Camera driver&V4L2驱动架构介绍
Camera driver&V4L2驱动架构介绍大约一年前写的东西,介绍性部分是当时在网络上找的内容,后面的分析部分是基于当时的项目,基于Mavell Pxa920,希望对初学者有点点的帮助吧。转载请注明出。 1. Camera相关介绍 1.1. 手机Camera介绍 手机的数码相机功能指的是手机通过内置数码相机进行拍摄静态图片或短片拍摄,作为手机的转载 2014-11-25 18:43:44 · 2359 阅读 · 0 评论 -
Android系统Recovery工作原理之使用update.zip升级过程分析
Android系统Recovery工作原理之使用update.zip升级过程分析(一)---update.zip包的制作http://blog.csdn.net/mu0206mu/article/details/7399822 这篇及以后的篇幅将通过分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理转载 2014-11-25 18:35:26 · 4774 阅读 · 0 评论 -
开发自己的产品,所需要创建的makefile,以及 他们的作用
创建一个新的Android产品项目,从google网站上下载的android源代码编译时,默认是编译google设定的产品,如果要开发自己的产品,则需要重新定义一个产品项目,过程如下:首先我们定义产品的规格,举例如下:公司名称 ardent产品名称 MTP主板名称 merlin然后安装下面的步骤新建产品项目:(1)在源代码目录下创建一个用户目录mkdir v转载 2014-11-25 15:27:28 · 623 阅读 · 0 评论 -
Android系统Surface机制的SurfaceFlinger服务对帧缓冲区(Frame Buffer)的管理分析
在前文中,我们分析了SurfaceFlinger服务的启动过程。SurfaceFlinger服务在启动的过程中,会对系统的硬件帧缓冲区进行初始化。由于系统的硬件帧缓冲区一般只有一个,并且不是谁都可以随便访问的,因此,它就需要由一个服务来统一管理。在Android系统中,这个服务便是SurfaceFlinger。在本文中,我们就详细分析SurfaceFlinger服务是如何管理系统的硬件帧缓冲区的。转载 2014-11-06 17:26:07 · 1317 阅读 · 0 评论 -
Android 4.0 ICS SystemUI浅析——StatusBar结构分析
Android 4.0 ICS SystemUI浅析——StatusBar结构分析分类: Android 2012-06-30 14:45 17291人阅读 评论(7)收藏 举报androidsignal代码分析iconseclipse平台 在上一篇文章《Android 4.0 ICS SystemUI浅析——SystemUI启动流转载 2014-11-06 18:30:54 · 625 阅读 · 0 评论 -
arm的2级页表在Linux内核创建过程解析
系统DDR的基地址为0x0,内存为1GB,所以TTB的基地址为0x4000。下面要创建虚拟地址0xfe700000到物理地址0xffff0000之间的映射,映射大小为64KB,即16页。由于物理地址不是1MB字节对齐,所以必须创建两级映射。 用户空间/内核空间划分为2G/2G。 create_mapping:pgd = 0x80007f98, addr = 0xfe700000,转载 2015-01-15 16:27:21 · 6506 阅读 · 2 评论 -
Android应用程序窗口设计框架介绍
http://www.bkjia.com/Androidjc/821616.html热度4 评论 198 作者:y253291898 TA关注 主板,QQ宠物, 2014-07-04 12:07:13 浏览数24076次 在Android系统中,一个Activity对应一个应用程序窗口,任何一个Activity的启动都是由转载 2015-04-16 18:16:27 · 1452 阅读 · 0 评论 -
Android应用的persistent属性
说说Android应用的persistent属性 侯 亮 1 启动persistent应用 在Android系统中,有一种永久性应用。它们对应的AndroidManifest.xml文件里,会将persistent属性设为true,比如: ?1234applicationandr转载 2015-08-27 16:27:32 · 615 阅读 · 0 评论 -
深入讲解Android Property机制
深入讲解Android Property机制2015-03-21 20:23:07http://my.oschina.net/youranhongcha-悠然红茶-点击数:175 深入讲解Android Property机制侯亮1 概述 Android系统(本文以Android 4.4转载 2015-08-05 19:05:19 · 615 阅读 · 0 评论 -
audio flinger
audioflinger2013-02-23 17:22 1648人阅读 评论(0)收藏 举报目录(?)[+]如果要转载请注明原创作者是蝈蝈OverViewAudio Policy and Audio Hardware1 Audio Hardware Device2 Audio Policy Service3 Audio Po转载 2015-09-23 12:45:20 · 1695 阅读 · 0 评论 -
hwcomposer
Fence是一种同步机制,在Android里主要用于图形系统中GraphicBuffer的同步。那它和已有同步机制相比有什么特点呢?它主要被用来处理跨硬件的情况,尤其是CPU,GPU和HWC之间的同步,另外它还可以用于多个时间点之间的同步。GPU编程和纯CPU编程一个很大的不同是它是异步的,也就是说当我们调用GL command返回时这条命令并不一定完成了,只是把这个命令放在本地的command转载 2015-11-19 11:35:41 · 5732 阅读 · 1 评论 -
Qualcomm Camera 开发遇到的错误及解决方法
图像处理(9) . 版权声明:本文为博主原创文章,未经博主允许不得转载。1. Camera module probe error: (2011.6.28)I2C slave address:0x48 not connected.I2C read transfer failed.Root cause: I2C slave address error. The default sub camera i转载 2015-12-22 16:00:17 · 3838 阅读 · 0 评论 -
binder驱动-接收缓存区管理
binder驱动-接收缓存区管理标签: bufferstructnullinsertlistuser2011-09-20 23:07 3057人阅读 评论(6)收藏 举报分类: android(29) 作者同类文章X版权声明:本文为博主原创文章,未经博主允许不得转载。转载 2016-01-06 20:09:03 · 583 阅读 · 0 评论 -
Android BlueDroid(二):BlueDroid蓝牙开启过程init
版权声明:本文为博主原创文章,未经博主允许不得转载。关键词:bluedroid initNative enableNative BTIF_TASK BTU_TASKbt_hc_work_thread set_power preload GKI作者:xubin341719(欢迎转载,请注明作者,请尊重版权,谢谢!)欢迎指正错误,共同学习、共同进步!! 一、 蓝转载 2016-01-08 19:51:15 · 1014 阅读 · 0 评论 -
Android BlueDroid(三):BlueDroid蓝牙开启过程enable
关键词:bluedroid enableNative BTIF_TASK BTU_TASK bt_hc_work_thread set_power preload GKI作者:xubin341719(欢迎转载,请注明作者,请尊重版权,谢谢!)绘图工具:Edraw Maindmap欢迎指正错误,共同学习、共同进步!!一、enableNative函数的的实现(1)转载 2016-01-08 19:52:31 · 1616 阅读 · 0 评论 -
http://buaadallas.blog.51cto.com/399160/372090/
Android AIDL(Android Interface Definition Language)介绍2010-08-11 15:12:47标签:AIDLDefinition Language Android Interface 在网上看到一篇介绍AIDL的文章,自己把代码在2.2的sdk上跑了一下,稍微更改了一下原文中的代码(下文中的代码都是自己转载 2015-04-16 17:53:48 · 582 阅读 · 0 评论 -
Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析
老罗的Android之旅 总结:为了在屏幕中绘制一个指定的画面,我们需要: 1. 分配一个匹配屏幕大小的图形缓冲区 2. 将分配好的图形缓冲区注册(映射)到当前进程的地址空间来 3. 将要绘制的画面的内容写入到已经注册好的图形缓冲区中去,并且渲染(拷贝)到系统帧缓冲区中去 为了实现以上三个操作,我转载 2015-04-09 17:34:21 · 1292 阅读 · 1 评论 -
Android应用程序组件Content Provider的共享数据更新通知机制分析
在Android系统中,应用程序组件Content Provider为不同的应用程序实现数据共享提供了基础设施,它主要通过Binder进程间通信机制和匿名共享内存机制来实现的。关于数据共享的另一个话题便是数据更新通知机制了,即如果一个应用程序对共享数据做了修改,它应该如何通知其它正在使用这些共享数据的应用程序呢?本文将分析Content Provider的共享数据更新通知机制,为读者解答这个问题。转载 2015-02-05 13:33:42 · 553 阅读 · 0 评论 -
Service群英会
init1函数较简单,其实重点内容都在init2函数中。init2函数的实现代码如下:[-->SystemServer.java::init2]public static final void init2() { Thread thr = new ServerThread(); thr.setName("android.server.ServerThread")转载 2015-02-05 14:09:26 · 687 阅读 · 0 评论 -
深入理解SELinux/SEAndroid
关于SEAndroid的更多官方说明,请参考http://source.android.com/devices/tech/security/se-linux.html二 SEAndroid源码分析有了上文的SELinux的基础知识,本节再来看看Google是如何在Android平台定制SELinux的。如前文所示,Android平台中的SELinux叫SEAndroid。先来看转载 2015-01-04 17:24:43 · 3581 阅读 · 0 评论 -
Android SurfaceFlinger服务的消息循环过程源码分析
分类: 【Android 显示模块】 2013-11-09 14:19 1836人阅读 评论(0)收藏 举报EventThreadMessageQueueSurfaceFlingerSocketVSync目录(?)[+]SurfaceFlinger消息循环过程DisplayHardware对象创建过程EventThread线程启动过程事件连接创建过程事件转载 2015-03-11 16:26:48 · 760 阅读 · 0 评论 -
Android中的GraphicBuffer同步机制Fence
Fence是一种同步机制,在Android里主要用于图形系统中GraphicBuffer的同步。那它和已有同步机制相比有什么特点呢?它主要被用来处理跨硬件的情况,尤其是CPU,GPU和HWC之间的同步,另外它还可以用于多个时间点之间的同步。GPU编程和纯CPU编程一个很大的不同是它是异步的,也就是说当我们调用GL command返回时这条命令并不一定完成了,只是把这个命令放在本地的command转载 2015-03-18 14:17:47 · 1274 阅读 · 0 评论