2011年7月14日
摘要: 本文来自:安卓航班网1. Boot系统初始化, 具体过程参见(system\core\init\Init.c)中的main函数,这时候,手机或者模拟器出现的画面是一个console,显示“ANDROID”msg。2. 初始化成功后,就开始mounting系统,具体参见(system\core\mountd\Mountd.c) 中的main函数。3.接下来运行ndroidRuntime,并开始启动java虚拟机dalvikvm。4. Java虚拟机启动成功后,开始系统初始化。系统初始的第一步是用JNI方式实现的,对应java代码为(frameworks\base\services\java\co 阅读全文
posted @ 2011-07-14 15:43 泉と緣 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 本文来自:安卓航班网有些时候,应用需要在开机时就自动运行,例如某个自动从网上更新内容的后台service。怎样实现开机自动运行的应用?在撰写本文时,联想到高焕堂先生以“Don't call me, I'll call you back!”总结Android框架,真是说到点子上了。理解这句话的含义,许多有关Android平台上实现某种功能的问题,都能迎刃而解。 使用场景:手机开机后,自动运行程序,在屏幕上显示"Hello. I started!"字样。 背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的 阅读全文
posted @ 2011-07-14 15:40 泉と緣 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 本文来自:安卓航班网 一个Android.mk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件。编译系统为你处理许多细节问题。例如,你不需要在你的Android.mk中列出头文件和依赖文件。NDK编译系统将会为你自动处理这些问题。这也意味着,在升级NDK后,你应该得到新的toolchain/platform支持,而且不需要改变你的Android.mk文件。先看一个简单的例子:一个简单的\"hello wor 阅读全文
posted @ 2011-07-14 15:36 泉と緣 阅读(203) 评论(0) 推荐(0) 编辑