博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第四章 心得体会
阅读量:5136 次
发布时间:2019-06-13

本文共 1900 字,大约阅读时间需要 6 分钟。

通过第四章的学习,使自己完成了源代码的下载和编译。知道了其具体的步骤和方法。心里有点小小的成就感。

学到的知识:

下载、编译和测试android源代码

1、配置android源代码下载环境

1.创建一个用于存放下载脚本文件的目录

# mkdir ~/bin

# PATH=~/bin:$PATH

2.下载repo脚本文件

# curl https://dl-ssl.com/dl/googlesource/git-repo/repo > ~/bin/repo

#chmod a+x ~/bin/repo

3.创建用于存放android源代码的目录

# mkdir android_source

# cd android_source

4.初始化

# repo init -u https://android.googlesource.com/platform/manifest

5.开始下载android源代码

# repo sync

2、Android源代码目录结构解析

3、下载android源代码中的一部分

# repo sync platfrom/bootable/recovery

4、编译android源代码

1.初始化编译环境

# source build/envsetup.sh

2.选择目标

# lunch full-eng

3.编译android源代码

# make

5、Out目录结构分析

6、将自己的APK作为android内置程序发布

7、用模拟器测试system.img文件

1.重新生成system.img文件

# mkysffs2image system system.img

2.测试刚生成的system.img文件

# emulator -avd myavd -system system.img -data userdate.img

下载和编译Linux内核源代码

1、下载Linux内核源代码

1.下载最新的Linux内核源代码

# git clone

2.查看当前远程版本库

# git branch -a

3.到处最新Linux内核

#git checkout -b android-3.0 remotes/origin/android-3.0

4.下载内核

# git clone

5.导出godfish目录

# git checkout -b android-goldfish-2.6.29 remotes/origin/android-goldfish-2.6.29

2、Linux内核源代码的目录结构

3、安装android内核的编译环境

1.准备工作将arm-linux-gcc-4.3.2.tgz文件和arm-none-linux-gnueabi-aim-2008q3-72-for-linux.tzr.bz2文件复制到工作目录

2.解压编辑器

# tar zxvf arm-linux-gcc-4.3.2.tgz -C /

# tar jxvf arm-none-linux-gnueabi-aim-2008q3-72-for-linux.tzr.bz2 -C /

3.安装交叉编译器是否安装成功

# ls /usr/local/arm -l

4.安装libncurses5

# apt-get install libncurses5-dev

4、配置和编译Linux内核

# export PATH=/root/compilers/arm-none-linux-gnueabi/bin:$PATH

# cd ~/linux_kernel

# make clean

#make

彻底清除命令

1.make mrproper:清楚所有由编译产生的文件+清楚配置文件。

2.make distcleanmake mrproper+删除编辑器留下的备份文件和补丁文件。

配置命令

1.make config:以文本形式配置Linux内核。

2.make menuconfig:以字符界面风格的菜单形式配置Linux内核。

3.make oldconfig:以字符界面逐项要求用户配置。

4.make xconfig:以图形界面形式配置Linux内核。

android模拟器上测试Linux内核

# emulator -avd myavd -kernel /root/kernel/goldfish/arch/arm/boot/zImage

转载于:https://www.cnblogs.com/chen-yang/p/5439562.html

你可能感兴趣的文章
实验四
查看>>
js实现全屏
查看>>
Javascript中最常用的61个经典技巧
查看>>
进程,线程通信与同步
查看>>
我看APT攻防对抗(2):APT攻击的案例
查看>>
Two Sum - Unique pairs Lintcode
查看>>
存储过程的优点
查看>>
ios 多点触 遍历
查看>>
Dom4j解析XML学习代码
查看>>
poj 1065(贪心)
查看>>
Less开发指南(三)- 代码文件跟踪调试
查看>>
redis笔记-1
查看>>
js 正则
查看>>
Sybase数据库常用sql语言
查看>>
Django标签之包含标签Inclusion tags
查看>>
Git命令
查看>>
Appium之启用手机桌面APP的多种方法
查看>>
洛谷 P2292 [HNOI2004]L语言 题解
查看>>
.Net程序员自学dump分析教程
查看>>
Vtune 学习笔记 1 Finding Hotspots
查看>>