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的更多相关文章

  1. Android framework编译出来的jar包classes.jar的位置

    在源码环境下编译 Android framework编译出来的jar包classes.jar的位置  out/target/common/obj/JAVA_LIBRARIES/framework_in ...

  2. 添加 Android Framework 到 Adt

    Android Framework jar 包: class4.0.3 1.项目属性中的-Java Build Path,选择 Libraries,点击 “Add Library...”,添加 2.选 ...

  3. 北京联想招聘-Android Framework高级工程师(7-10年) 加入qq 群:220486180 或者直接在此 留言咨询

    Job ID #: 45038 Position Title: Android Framework高级工程师 Location: CHN-Beijing Functional Area: Resear ...

  4. 如何调试Android Framework?

    Linus有一句名言广为人知:Read the fucking source code. 但其实,要深入理解某个软件.框架或者系统的工作原理,仅仅「看」代码是远远不够的.就拿Android Frame ...

  5. 解析android framework下利用app_process来调用java写的命令及示例

    解析android framework下利用app_process来调用java写的命令及示例 在android SDK的framework/base/cmds目录下了,有不少目录,这些目的最终都是b ...

  6. Android Framework 初探

    最近工作任务不忙,学习一下Android Framework方面的知识. 一.介绍,是什么 Android的Framework是直接应用之下的一层,叫做应用程序框架层.这一层是核心应用程序所使用的AP ...

  7. [Android FrameWork 6.0源码学习] View的重绘过程之WindowManager的addView方法

    博客首页:http://www.cnblogs.com/kezhuang/p/关于Activity的contentView的构建过程,我在我的博客中已经分析过了,不了解的可以去看一下<[Andr ...

  8. [Android][Framework] 添加系统服务

    新博客地址 http://wossoneri.github.io/2018/09/15/[Android][Framework]create-system-service/ 做系统开发,有时候需要自己 ...

  9. [Android][Framework]裁剪SystemServer服务以及关闭SystemFeature

    本文链接 http://wossoneri.github.io/2018/08/30/[Android][Framework]crop-SystemServer-and-SystemFeature/ ...

随机推荐

  1. springboot shiro配置

    导入相关包(这里配合使用Ehcache缓存) <dependency> <groupId>org.apache.shiro</groupId> <artifa ...

  2. json的认识及对json数据的相互转化

    Json 和 Jsonlib 的使用 什么是 Json JSON(JvaScript Object Notation)(官网网站:http://www.json.org/)是 一种轻量级的数据交换格式 ...

  3. java9新特性-2-安装与官网说明

    1.jdk 9的下载 http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html         下载安 ...

  4. 【DotNetNuke介绍】

    简介 DotNetNuke(以下简称DNN)的最终目的是创建一个门户的框架平台,这个平台可以为开发者增添模块搭建应用程序提供坚实的可靠的支持.应用程序的一个关键的功能就是数据存取..NET Frame ...

  5. springMVC中跳转问题

    在使用SpringMVC时遇到了这个跳转的问题很头疼.现在总结出来,对以后的开发有所帮助. . 1.可以采用ModelAndView: @RequestMapping("test1" ...

  6. PostgreSQL中流复制pg_basebackup做了什么

    解压PostgreSQL源代码包后可以到如下路径:postgresql-9.2.4\src\backend\replication下可以看到,basebackup.c,另外还可以看到walreceiv ...

  7. windows 实用DOS命令。

    1. findfind方法要比findstr要简单,参数要少.find /? 命令可以查看所有find命令的参数.find命令的基本格式是这样的:find "要查找的字符串" 要查 ...

  8. centos通过yum安装jdk

    安装之前先检查一下系统有没有自带open-jdk 命令: rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 如果没有输入信息表示没有安装. ...

  9. 用树链剖分来写LCA

    当两个点在一条链上,它们的LCA就是深度较小的那个点. 于是这种树链剖分写LCA的思想就是把要求的两个点想办法靠到一条链上. 而且要靠到尽量更优的一条链上(重链). 做法: 预处理出每棵树上的重链(s ...

  10. js使用offsetHeight获取div高度为0的问题

    今晚试了好久没弄出来,后来获取子一层的div就能获取到高度了 我的情况是这样的:我在最外面写一个<div id="mainBody">,  里面写bootstrap的d ...