android framework 02
Android底层开发
1.安装Ubuntu系统
2.Ubuntu配置开发环境:
sudo apt-get install git-core gnupg flex bison gperf zip
sudo apt-get install curl libc6-dev-i386 lib32ncurses5-dev
sudo apt-get install lib32readline-gplv2-dev lib32z-dev
3.配置Java JDK:
http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html
下载jdk-6u45-linux-x64.bin并安装jdk
4.Ubuntu配置环境变量:
export JAVA_HOME=/home/hyg/jdk/jdk1.6.0_45/
export PATH=$JAVA_HOME/bin:$PATH
export classPath=$JAVA_HOME
5.源代码:
boot和kernel:
lichee.tar.gz
Android:
android.tar.bz2.aa
android.tar.bz2.ab
android.tar.bz2.ac
android.tar.bz2.ad
6.源代码编译:
1:解压源码
tar zxvf lichee.tar.gz
cat android.tar.bz2.a* | tar xj
2:编译Boot和内核
3:编译Android
7.目录:
bionic C库
build 编译系统规则基础开发包配置
cts 兼容性测试
dalvik java 虚拟机
external Android引入的第三方模块
frameworks Android核心框架
hardware 硬件适配层
system 底层文件系统库,应用和组建
deivce 产品目标目录
out 编程生成目标文件目录
8.Android编译过程:
初始化参数设置
检查环境变量与目标环境
选择lunch并读取目标配置和平台信息
清空输出目录
编译
生成升级包
9.touch命令,tree命令,
10.Android 启动模式
1. recovery 升级模式:启动recovery分区内核和文件系统
2.正常启动模式:引导内核和启动Android系统
11.android升级模式:
1.差量包升级(部分升级)
2.全包升级
12,init启动分析
init进程源码位置:system/core/init/init.c
init系统中位置:/init
adb devices:查看链接的开发板
adb shell:登录开发板
ls -l:查看文件的详细信息,里面有一个init文件,是init.c生成的可执行文件,也是系统所要启动的一个应用程序,就是我们的守护进程,
ps:查看当前系统中跑的所有的应用程序,init进程的PID是1,init进程用于创建所有的服务并且守护我们的整个系统,
init进程的作用:
1.第一个应用程序。2.创建目录,挂载分区。3.解析启动脚本,服务,操作,环境变量全部解析出来。4.启动服务 5.守护服务
查看init源代码路径:vi system/core/init/init.c
查找main函数:首先清除一些mark,解决后面创建文件时候的权限问题,然后在根目录下创建一些临时文件,然后挂载一些分区,

android framework 02的更多相关文章
- Android framework编译出来的jar包classes.jar的位置
在源码环境下编译 Android framework编译出来的jar包classes.jar的位置 out/target/common/obj/JAVA_LIBRARIES/framework_in ...
- 添加 Android Framework 到 Adt
Android Framework jar 包: class4.0.3 1.项目属性中的-Java Build Path,选择 Libraries,点击 “Add Library...”,添加 2.选 ...
- 北京联想招聘-Android Framework高级工程师(7-10年) 加入qq 群:220486180 或者直接在此 留言咨询
Job ID #: 45038 Position Title: Android Framework高级工程师 Location: CHN-Beijing Functional Area: Resear ...
- 如何调试Android Framework?
Linus有一句名言广为人知:Read the fucking source code. 但其实,要深入理解某个软件.框架或者系统的工作原理,仅仅「看」代码是远远不够的.就拿Android Frame ...
- 解析android framework下利用app_process来调用java写的命令及示例
解析android framework下利用app_process来调用java写的命令及示例 在android SDK的framework/base/cmds目录下了,有不少目录,这些目的最终都是b ...
- Android Framework 初探
最近工作任务不忙,学习一下Android Framework方面的知识. 一.介绍,是什么 Android的Framework是直接应用之下的一层,叫做应用程序框架层.这一层是核心应用程序所使用的AP ...
- [Android FrameWork 6.0源码学习] View的重绘过程之WindowManager的addView方法
博客首页:http://www.cnblogs.com/kezhuang/p/关于Activity的contentView的构建过程,我在我的博客中已经分析过了,不了解的可以去看一下<[Andr ...
- [Android][Framework] 添加系统服务
新博客地址 http://wossoneri.github.io/2018/09/15/[Android][Framework]create-system-service/ 做系统开发,有时候需要自己 ...
- [Android][Framework]裁剪SystemServer服务以及关闭SystemFeature
本文链接 http://wossoneri.github.io/2018/08/30/[Android][Framework]crop-SystemServer-and-SystemFeature/ ...
随机推荐
- html页面全屏化显示
<html><head><script>// toggle full screen function toggleFullScreen() { if (!docum ...
- Storm Zookeeper
本文记录了storm 1.1.0 在zookeeper中保存的信息. 下面的图是在[4]的基础上进行修改的. /-storm -- storm在zookeeper上的根目录 | |-/assignme ...
- pyton写购物车
pyton写购物车 基本要求: 用户输入工资,然后打印购物菜单用户可以不断的购买商品,直到余额不够为止退出时打印用户已购买的商品和剩余金额.. 1.这个程序功能不完整,bug很多,练手之作. good ...
- WebApp之H5登录注册
代码indexhtml <!DOCTYPE html> <html> <head> <meta charset="utf-8"> & ...
- vue中指令写了一个demo
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js确认框confirm()用法实例详解
先为大家介绍javascript确认框的三种使用方法,具体内容如下 第一种方法:挺好用的,确认以后才能打开下载地址页面.原理也比较清晰.主要用于删除单条信息确认. ? 1 2 3 4 5 6 7 8 ...
- 栈 <stack> F - 宋飞正传
I’m out of stories. For years I’ve been writing stories, some rather silly, just to make simple prob ...
- [JSOI2008]火星人 hash+splay
题目描述: 现在,火星人定义了一个函数 LCQ(x, y)LCQ(x,y),表示:该字符串中第 xx 个字符开始的字串,与该字符串中第 yy 个字符开始的字串,两个字串的公共前缀的长度.比方说,LCQ ...
- fork函数详解
一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同, ...
- ArcSDE学习笔记---------使用
1.首先在 将下面四个jar包放到工程里 2.然后打开ArcMAP,在arcmap里建立属于你自己的表 3.然后在你的本地数据库上建立与arcmap的连接 完成这三步就可以开始对ArcSDE的数据进行 ...