摘要:摘录几篇android研发日志1 http://blog.csdn.net/linweig/archive/2010/06/01/5640697.aspxFirmware 加载原理分析----分析的比较透彻,我在wifimodule调试时遇到的问题几乎跟这个一样,不过我采取了另外一个方法,直接用kernel的read和write了,没有使用request_firmware,有空小结下。前言前段时间移植wifi驱动到android的内核上,发现firmware的加载始终出错,问了几个人,都不是很了解,没办法,只好自己研究一下。原理分析从本质上来说,firmware需要做的事情包括两件:1,通知用
阅读全文
随笔分类 - android系统学习
摘要:2月 3日, Linux内核开发者 Greg Kroah-Hartman将 Android的驱动程序从 Linux内核“状态树”(“ staging tree”)上除去,从此, Android与 Linux开发主流将分道扬镳。原因是,“ noone seemed to be working on it”,难怪 Linux内核开发团队决定不要它了。呜呼!后果如何?今后,在开源的路上,谷歌 Android 的硬件驱动从何而来?谷歌喜欢开源,是喜欢它自己所喜欢的那种开源,而不是 Linux 的开发主流。谷歌气大财粗,自己去单干吧!国内开源界,不要跟在谷歌屁股后面瞎吹了。说到底, Linux 是草根事
阅读全文
摘要:From linux kernel monkey log | 李莘译,转载请注明 ifanr 译文链接。2.6.33 版内核移除了Andirod的代码。很多人不断地问我发生了什么,对于Android下一步要怎么办。这里是我对整件事情的澄清:首先,我很喜欢Android平台。直到上周,我还每天使用我的开发手机G1。它工作良好,作为用户我很满意。另外,从技术角度我也很喜欢他。令人惊奇的是,Google仅仅使用Linux内核构建了一个可移植的和健壮的手机平台,而并没有使用”传统”Linux的任何其他东西。更加难能可贵的是,你可以 在Android系统之上安装一个”真正”的Linux镜像,两者都能正常
阅读全文
摘要:1、安装git android的linux内核可以从http://android.git.kernel.org/下载,但下载需要使用git,windows版的git可以从http://code.google.com/p/msysgit/下载,有完全安装版和便携版(portable)两个版本可供选择,不常用git的话选portable版就可以了。 下载portable版的git后,解压缩,然后运行git-bash,会出现一个console窗口。2、android的kernel有多个部分,可根据需要运行以下命令下载需要的内容。 在git的console窗口中执行以下命令即可下载内核: $ git
阅读全文
摘要:Android 开机会出现3个画面:a. Linux 系统启动,出现Linux小企鹅画面(reboot);b. Android平台启动初始化,出现"A N D R I O D"文字字样画面;c. Android平台上层图形系统启动,出现含闪动的ANDROID字样的动画图片(start)。1/ 开机图片(Linux小企鹅)Linux Kernel引导启动后,加载该图片。/kernel/trunk/drivers/video/fbmem.c/kernel/trunk/drivers/video/fbmem.h/kernel/trunk/drivers/video/logo/lo
阅读全文
摘要:主要介绍linux 内核启动过程以及挂载android 根文件系统的过程,以及介绍android 源代码中文件系统部分的浅析。 主要源代码目录介绍Makefile (全局的Makefile)bionic (Bionic 含义为仿生,这里面是一些基础的库的源代码)bootable (引导加载器)build (build 目录中的内容不是目标所用的代码,而是编译和配置所需要的脚本和工具)dalvik (JAVA 虚拟机)development (程序开发所需要的模板和工具) external (目标机器使用的一些库)frameworks (应用程...
阅读全文
摘要:在开发Android应用程序时,少不了使用Log来监控和调试程序的执行。在上一篇文章Android日志系统驱动程序Logger源代码分析中,我们分析了驱动程序Logger的源代码,在前面的文章浅谈Android系统开发中Log的使用一文,我们也简单介绍在应用程序中使Log的方法,在这篇文章中,我们将详细介绍Android应用程序框架层和系统运行库存层日志系统的源代码,使得我们可以更好地理解Android的日志系统的实现。我们在Android应用程序,一般是调用应用程序框架层的Java接口(android.util.Log)来使用日志系统,这个Java接口通过JNI方法和系统运行库最终调用内核驱
阅读全文
摘要:我们知道,在Android系统中,提供了一个轻量级的日志系统,这个日志系统是以驱动程序的形式实现在内核空间的,而在用户空间分别提供了Java接口和C/C++接口来使用这个日志系统,取决于你编写的是Android应用程序还是系统组件。在前面的文章浅谈Android系统开发中LOG的使用中,已经简要地介绍了在Android应用程序开发中Log的使用方法,在这一篇文章中,我们将更进一步地分析Logger驱动程序的源代码,使得我们对Android日志系统有一个深刻的认识。既然Android日志系统是以驱动程序的形式实现在内核空间的,我们就需要获取Android内核源代码来分析了,请参照前面在Ubunt
阅读全文
摘要:http://armboard.taobao.com/Android提供了用户级轻量的LOG机制,它的实现贯穿了Java,JNI,本地c/c++实现以及LINUX内核驱动等Android的各个层次,而且足够简单清晰,是一个相当不错的解读案例。本系列文章针对LOG机制的内部实现机理进行解读,本文是系列的第一篇,解读LOG机制的实现架构。(1)LOG的实现架构LOG的运行环境 下图是Android官方网站上给出的Android的Debug环境。 Android的LOG机制当然也在这个环境中运行。我们重点关注Emulator和Device上运行的部分,App VMs产生LOG信息,并与ADB Dev
阅读全文
摘要:http://armboard.taobao.com/ 已经有一些的文章介绍Android内核了,本系列篇将从Linux内核的角度来分析Android的内核,希望给初学者提够有用的信息。本章将简单的介绍Android内核的全貌,起到一个抛砖引玉的作用。从下一篇开始将详细介绍每一个Android内核驱动程序及其作用。 Android内核是基于Linux 2.6内核的(目前最新开发版本是2.6.31),它是一个增强内核版本,除了修改部分Bug外,它提供了用于支持Android平台的设备驱动,其核心驱动主要包括: Android Binder,基于OpenBinder框架的一个驱动,用于提供An..
阅读全文
摘要:如果你只需要修改某一个模块的内容,但是却每次都要执行make, 最后等待很长时间。使用模块编译,那只需要在你所在的模块的目录或者其子目录,执行mm,便可以编译出一个单独的apk,这样岂不快哉!具体步骤: 1)打开~/.baserc文件,加入source ~/I850/build/envsetup.sh. 加入你自己该文件所在的路径,这样就免去了每次启动新的终端执行mm命令之前,需要引用此文件。 2)完成步骤1之后,就可以在你的模块里面随意执行mm了,要想使用其他快速命令,可以查看envsetup.sh文件,比如cgrep,jgrep,resgrep在不同类型的文件里面进行相应的查询...
阅读全文