欢迎光临
我们一直在努力

Android系统开发篇(三)

上回书我们说到,Ubuntu系统的安装和配置,既然是Android系统的开发,那我们就要有Android系统,那好,目标很明确,接下来我们就来操作,看看源码是怎么来的

一、Android 源码下载(同步sync)

Android源码的下载,也叫同步,其实吧也不是很复杂,就是下载的东西比较多,所以你要多注意一下

1、安装软件

上文我们说到了git的安装,之前装过就不要装了,但是还是要重点说一下,Android源码是托管在github上,无论是访问国外的还是国内的,源码托管的环境都是git,所以要安装git来管理源码

sudo apt-get install git

Android系统开发篇(三)

以下罗列软件,请挨个的安装完,都是基本需要的,如果遗漏的直接sudo apt-get install 软件名 来安装,部分需要输入y后按回车键进行安装

sudo apt-get install openjdk-8-jdk //jdk 这个不用说了吧 sudo apt-get install python //Repo 是基于 Python 2.x 中的特定功能构建的,与 Python 3 不兼容 sudo apt-get install phablet-tools //git工具包 sudo apt-get install curl //上传和下载数据的工具 sudo apt-get install build-essential //提供编译程序必须软件包的列表信息 sudo apt-get install make //源码编译工具 sudo apt-get install gcc //GNU编译器套件 sudo apt-get install g++ sudo apt-get install libc6-dev //共享库 sudo apt-get install patch //补丁工具 sudo apt-get install texinfo //文档系统 sudo apt-get install libncurses-dev //系统的必备库 sudo apt-get install git-core gnupg //git的工具包,虽然有git了,但是有备无患 sudo apt-get install ncurses-dev //编译内核的时候需要 sudo apt-get install valgrind //内存检查器

2、环境配置

(1)、多的话懒得说,首先创建目录

mkdir ~/bin

(2)、下载repo脚本到本地bin文件夹下

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo chmod a+x ~/bin/repo export PATH=~/bin:$PATH

(3)、根据实际情况,创建源码存放目录,然后赋予目录的读写权限

 mkdir /home/android_aosp/android_9.0 (根据实际情况来新建目录) chmod 777 /home/android_aosp/android_9.0 cd /home/android_aosp/android_9.0 

借用大佬的忠告:在此再强调一下,既然要编译源码,乃至后期的源码编译修改等,都是要在linux下进行的,所以一些基本的常识和命令,还是很希望大家能够去学习或者复习一下

3、同步源码(sync)

以上一系列的操作都是为接下来的源码同步工作做准备,你以为这样就可以了么,那你错了,接下来我继续配置 git的邮箱和用户,如果你没有,那么劳烦你去注册一个,github码云(Gitee)都可以

git config --global user.name Your Name git config --global user.email you@example.com

(1)、初始化仓库

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest

☆这里重点注意了,如果按照之前的步骤来操作,这个位置一定是请求不到反应的,原因是因为~/bin/repo配置下有一句话需要修改

REPO_URL = 'https://gerrit.googlesource.com/git-repo' 改成 REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

Android系统开发篇(三)

(2)、repo指定Android版本

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r46

Android系统开发篇(三)

(3)、同步源码,aosp 9.0的源码大概有30多G,漫长等待源码下载的过程中请备好饭,当然也视网络区别,如若失败请检查网络等原因,[虚拟机如果出现两个小时以上都不动的话,请关机后再操作一遍上面的环境配置和源码同步]

repo sync

Android系统开发篇(三)

二、驱动下载(make)

1、下载手机驱动,查看源代码标记和 build版本,用于查看下载适合的驱动版本。

Android系统开发篇(三)

2、从上图可知要下载PQ3A.190801.002的驱动(这里以piexl一代、android9.0.0_r46为例,请按照实际情况下载),查找驱动并下载

Android系统开发篇(三)

3、将下载的文件解压放在源码根目录,授权执行sh文件,运行后,会提示你查看证书,按Enter键一行行的查看,出现输入提示时,输入 I ACCEPT,解压到了vendor 目录下

./extract-google_devices-sailfish.sh ./extract-qcom-sailfish.sh

三、源码编译(make)

下载完的源码,编译后可能会变成一两百G,所以要准备好磁盘,接下来我们就开始编译了

1、初始化编译环境

source build/envsetup.sh 

2、选择编译的目标包,建议和驱动型号一致

lunch (lunch选定的版本按照实际情况来,默认选第一个) 

3、接下来就是重要的环节,编译

make -j8 (后面数字和cpu有关,适当调整数字)

4、完成编译标识

#### build completed successfully (01:35:28 (hh:mm:ss)) ####

本节内容就讲到这里,整个编译过程中可能会出现各种错误,请根据错误提示进行相关的排除,下节我们讲samba服务器的配置

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《Android系统开发篇(三)》
文章链接:https://www.456zj.com/24085.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址