Android读书笔记四
第四章
这是一次源代码之旅,学到了如何下载和编译Android源代码和Linux内核源代码。来详细阐述一下一些具体过程
一、Android源代码下载环境
1.安装下载Android源代码的环境配置
(1)先创建一个用于存放下载脚本文件repo的目录
(2)下载repo脚本文件
(3)创建用于存放Android代码的目录:
make dir android_source
cd android_source
(4)初始化
(5)开始下载Android源代码:
repo sync
2.下载Android代码中的一部分,两种方法
(1)方法一
使用repo sync命令
(2)方法二
使用git clone命令
两者之间的区别是第一种会在当前目录生成一个隐藏目录repo,该目录存放了下载Android源代码所需的全部信息,指定工程的源代码会按照实际的路径存放,而第二种只会建立工程目录,并不会建立层次路径结构。
3.编译Android源代码
编译源代码会递归调用每一个工程目录中android.mk文件来编译当前的工程。编译源代码步骤如下:
(1)Linux终端下输入命令source build/envsetup.sh或者. build/envsetup.sh
(2)选择目标,使用lunch命令设置编译目标
(3)编译android源代码,执行命令make即可编译,
4.将自己的APK作为Android内置程序发布
直接将apk文件复制到system/app目录下,然后从system目录生成system.img文件。
5.用模拟器测试.img文件
二、下载和编译Linux内核源代码
1.下载Linux内核源代码
(1)下载最新的linux内核:git clone https://android.googlesource.com/kernel/common.git
(2)进入common目录,执行:git branch -a导出内核
2.安装Android内核的编译环境
(1)将arm-linux-gcc-4.3.3.tgz文件和arm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar.bz2文件复制到工作目录。
(2)解压上边的两个压缩文件
(3)验证交叉编译器是否安装成功,命令是:ls /usr/local/arm -l
(4)安装libncurses5,命令是apt-get install libnccurses5-dev
3.配置和编译Linux内核
本章介绍了很多指令,对linux内核学习很有帮助,更进一步了解了所学的内容,真的是书读百变其义自现。
http://www.cnblogs.com/xxyue/
Android读书笔记四的更多相关文章
- 【转】Verilog HDL常用建模方式——《Verilog与数字ASIC设计基础》读书笔记(四)
Verilog HDL常用建模方式——<Verilog与数字ASIC设计基础>读书笔记(四) Verilog HDL的基本功能之一是描述可综合的硬件逻辑电路.所谓综合(Synthesis) ...
- 【转载】MDX Step by Step 读书笔记(四) - Working with Sets (使用集合)
1. Set - 元组的集合,在 Set 中的元组用逗号分开,Set 以花括号括起来,例如: { ([Product].[Category].[Accessories]), ([Product].[ ...
- how tomcat works 读书笔记四 tomcat的默认连接器
事实上在第三章,就已经有了连接器的样子了,只是那仅仅是一个学习工具,在这一章我们会開始分析tomcat4里面的默认连接器. 连接器 Tomcat连接器必须满足下面几个要求 1 实现org.apache ...
- Android学习笔记四十Preference使用
Preference直译为偏好,博友建议翻译为首选项.一些配置数据,一些我们上次点击选择的内容,我们希望在下次应用调起的时候依旧有效,无须用户再一次进行配置或选择.Android提供preferenc ...
- JavaScript DOM编程艺术读书笔记(四)
第十章 实现动画效果 var repeat = "moveElement('"+elementID+"',"+final_x+","+fin ...
- 深入理解Java虚拟机之读书笔记四 性能监控与故障处理工具
JDK的bin目录下存在很多有效的命令行工具,它们就是jdk\lib\toos.jar类库的封装. 一.jps:虚拟机进程状况工具,查询出LVMID. 二.jstat:虚拟机统计信息监视工具, 三.j ...
- Android读书笔记0-从零开始
可以有千万个理由,但是结果就在这里,我开始对Android产生兴趣,于是决定学点啥.啥都不说,单刀入正题. 开发环境 啥都不说,直接上图. 只说Windows平台上,下载完直接解压即可.比起VS安装过 ...
- 《鸟哥的Linux私房菜》读书笔记四
1.Linux的目录配置以『树状目录』来配置,至於磁碟分割槽(partition)则需要与树状目录相配合! 请问,在预设的情况下,在安装的时候系统会要求你一定要分割出来的两个Partition为何? ...
- R实战读书笔记四
第三章 图形入门 本章概要 1 创建和保存图形 2 定义符号.线.颜色和坐标轴 3 文本标注 4 掌控图形维数 5 多幅图合在一起 本章所介绍内容概括例如以下. 一图胜千字,人们从视觉层更易获取和理解 ...
随机推荐
- pytest框架(三)
pytharm运行三种方式 代码示例: # coding=utf-8 import pytest class TestClass: def test_one(self): x = "this ...
- Luogu P3941 入阵曲【前缀和】By cellur925
题目传送门 题目大意:给你一个\(n\)*\(m\)的矩阵,每个位置都有一个数,求有多少不同的子矩阵使得矩阵内所有数的和是\(k\)的倍数. 数据范围给的非常友好233,期望得到的暴力分:75分.前1 ...
- mysql导入文件
手里有一个web源码工程文件夹 mysql导入文件: 新建连接,名称随意,用修改设置的用户密码登录,我的连接名称是eee 右击information_schema,建立数据库,数据库名称源码文件名,字 ...
- day8文件操作作业详解
1.day8题目 1,有如下文件,a1.txt,里面的内容为: 老男孩是最好的培训机构, 全心全意为学生服务, 只为学生未来,不为牟利. 我说的都是真的.哈哈 分别完成以下的功能: a,将原文件全部读 ...
- 在线获取键盘按键值(ascii码)工具
在线获取键盘按键值(ascii码)工具 http://www.bejson.com/othertools/keycodes/ 可以根据输入的值获取对应的键盘ascii码值
- NETCORE MVC模块化
NETCORE MVC模块化 ASP.NETCORE MVC模块化编程 前言 记得上一篇博客中跟大家分享的是基于ASP.NETMVC5,实际也就是基于NETFRAMEWORK平台实现的这么一个轻量级插 ...
- 1137 - Sin your life sin公式 + 枚举
http://www.ifrog.cc/acm/problem/1137 和差化积公式, 变成2 * sin((x + y) / 2) * cos((x - y) / 2) + sin(n - (x ...
- D、Homework of PE 容斥原理
https://scut.online/p/113 终于想懂了这个容斥, 华工4月23号校赛,考虑总的所有情况,设1---n里面含有质数的个数为all,需要固定m个质数.那么有 totSum = C( ...
- P2737 [USACO4.1]麦香牛块Beef McNuggets 数学题 + 放缩思想
https://www.luogu.org/problem/show?pid=2737#sub 先说一个结论:对于两个数p, q,且gcd(p, q) = 1(这个很重要,是条件来的).他们不能组合成 ...
- GIT主要用到的命令
git add . //添加到暂存盘 git commit -m ‘备注’//提交到本地仓库 git push //提交到远程仓库 fetch更新本地仓库两种方式: //方法一 $ git fetch ...