android系统源码7.1.2_r8下载,编译,运行到nexus5X上,修改源码并编译SDK进行测试

一,学习android系统源码下载,编译的作用
1,可以自己 DIY 自己的rom系统,从系统层面,宏观的加深理解 android系统

2,编译自己的 userdebug(原生root权限) rom, 方便调试。

2,可以看到系统所有的 source code,修改自己感兴趣的部分,编译,运行后,可以看到效果;通过阅读源码解决问题。

3,学习源码中优秀的设计思想,架构,设计模式,代码风格;针对自己需要实现的功能,可以参考,联系人,电话,图库,短信,邮件,浏览器等系统app的实现。

二,关于AOSP
Android Open Source Project, 官网链接 aosp 官网

陈荣刚 > android系统源码7.1.2_r8下载,编译,运行到nexus5X上,修改源码并编译SDK进行测试 > source_info.png 陈荣刚 > android系统源码7.1.2_r8下载,编译,运行到nexus5X上,修改源码并编译SDK进行测试 > android_framework_details.png

该文档参考 AOSP官网指导,在 ubuntu14.04下,配置下载,编译源码的环境,同步源码,编译源码,运行到 nexus5X上。

当前可用最新源码

陈荣刚 > android系统源码7.1.2_r8下载,编译,运行到nexus5X上,修改源码并编译SDK进行测试 > new _nsource.png

对于 nexus5X 设备可用的最新代码为分支为:android-7.1.2_r8

陈荣刚 > android系统源码7.1.2_r8下载,编译,运行到nexus5X上,修改源码并编译SDK进行测试 > new-able.png

所以我们下载该分支代码即可,编译之后就可以运行到 nexus5X 上

三,简单说下,我们平时使用的 android 手机是如何研发出来的
android手机组成:硬件(CPU芯片,触屏,话筒,扬声器,相机,天线,电池,PCB,各种IC等) + 软件:android系统(内核,rom系统,第三方配件驱动等)

oem厂商基于某一平台(高通,联发科,展讯)规划好自己的产品,买来硬件(或者自己生产),组装,烧录系统(根据自己的硬件设备,配件,修改后的aosp,加上第三方驱动)。

现在的像高通等芯片厂商的集成度,越来越高,研制一部android手机的门槛越来越低,但是做一部,高性能,流畅,高度优化,美观,高用户体验的产品,还是需要投入大量资源的。

比如基于高通8953平台,研发一部android手机,8953平台就是骁龙625,高通会拿到 aosp源码,针对自己的平台加入相关的驱动,接口代码,厂商购买8953平台,可以拿到 高通修改后的aosp源码,平台说明文档,其他硬件接口文档等。如果厂商想使用莱卡的摄像头,三星的OLED曲面屏幕,这些配件厂商会提供相关的硬件驱动和接口文档,oem厂商集成到系统中,可以进行个性化定制,包括功能,性能,ui等。

下面是一个基于 高通8953平台的工程机:

陈荣刚 > android系统源码7.1.2_r8下载,编译,运行到nexus5X上,修改源码并编译SDK进行测试 > IMG_20170410_191705.jpg 陈荣刚 > android系统源码7.1.2_r8下载,编译,运行到nexus5X上,修改源码并编译SDK进行测试 > IMG_20170410_192516.jpg

推荐一本我觉得还不错的电子书,百度网盘链接 ANDROID系统服务开发_13706555.pdf 链接: https://pan.baidu.com/s/1nvAyxiL 密码: 2ucq

感兴趣的同学可以参考一下,该书为韩国android rom开发者所著,比较容易理解,有很多示意图。

陈荣刚 > android系统源码7.1.2_r8下载,编译,运行到nexus5X上,修改源码并编译SDK进行测试 > book.png

四,编译环境配置
官网指导文档

1,硬件要求
64位;150G可用硬盘;如果使用虚拟机 最少16G RAM

2,软件要求
官方建议使用 长期支持的 ubuntu,其他的 LINUX 系统,mac 系统也可以,也可以在 windows 里面安装虚拟机;

个人建议,使用官方推荐系统 ubuntu,因为,有官方支持,文档资料较多,遇到问题,方便在网上寻找解决办法。

陈荣刚 > android系统源码7.1.2_r8下载,编译,运行到nexus5X上,修改源码并编译SDK进行测试 > software.png

1> 本文档编译最新源码,使用 ubuntu14.04 必须安装的软件包有:
OpenJDK 8
aloe@aloe-pc:~ javaversionopenjdkversion1.8.045internalOpenJDKRuntimeEnvironment(build1.8.045internalb14)OpenJDK64BitServerVM(build25.45b02,mixedmode)aloe@aloepc:  j a v a − v e r s i o n o p e n j d k v e r s i o n “ 1.8.0 4 5 − i n t e r n a l ” O p e n J D K R u n t i m e E n v i r o n m e n t ( b u i l d 1.8.0 4 5 − i n t e r n a l − b 14 ) O p e n J D K 64 − B i t S e r v e r V M ( b u i l d 25.45 − b 02 , m i x e d m o d e ) a l o e @ a l o e − p c :   javac -version
javac 1.8.0_45-internal

aloe@aloe-pc:~ aloe@aloepc:  a l o e @ a l o e − p c :  
aloe@aloe-pc:~ pythonversionPython2.7.6aloe@aloepc:  p y t h o n – v e r s i o n P y t h o n 2.7.6 a l o e @ a l o e − p c :   git –version
git version 1.9.1
aloe@aloe-pc:~$ make –version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for x86_64-pc-linux-gnu

android 源码控制管理工具使用的是 git,google 把git封装为repo,repo就是一个 python脚本,源码编译系统使用 make工具,所以必须 需要 JDK,git,python,make

链接: https://pan.baidu.com/s/1cAKL1k 密码: x3dq GNU+MakeFile中文手册.pdf 关于android源码的 build的编译系统,推荐一本电子书,百度网盘链接.

2> OpenJDK 8 的安装
oracle jdk 安装,直接下载安装包,解压到 /usr/lib/jvm/ 目录下,目录不存在,自己创建,在 .bashrc 配置环境变量即可.

添加软件源: sudo add-apt-repository ppa:openjdk-r/ppa

更新源: sudo apt-get update

安装 openjdk-8-jdk sudo apt-get install openjdk-8-jdk

我安装后的 /usr/lib/jvm/目录如下:

total 52
drwxr-xr-x 7 root root 4096 2月 11 21:18 .
drwxr-xr-x 172 root root 20480 5月 7 12:25 ..
lrwxrwxrwx 1 root root 24 3月 23 2014 default-java -> java-1.7.0-openjdk-amd64
lrwxrwxrwx 1 root root 20 8月 12 2016 java-1.7.0-openjdk-amd64 -> java-7-openjdk-amd64
-rw-r–r– 1 root root 2439 2月 8 09:10 .java-1.7.0-openjdk-amd64.jinfo
lrwxrwxrwx 1 root root 20 4月 20 2015 java-1.8.0-openjdk-amd64 -> java-8-openjdk-amd64
-rw-r–r– 1 root root 2546 4月 20 2015 .java-1.8.0-openjdk-amd64.jinfo
drwxr-xr-x 7 root root 4096 2月 11 21:18 java-7-openjdk-amd64
drwxrwxrwx 7 root root 4096 9月 18 2016 java-8-openjdk-amd64
drwxrwxrwx 8 aloe aloe 4096 3月 27 2013 jdk1.6.0_45
drwxrwxrwx 8 aloe aloe 4096 4月 11 2015 jdk1.7.0_79
drwxrwxrwx 8 aloe aloe 4096 4月 1 2016 jdk1.8.0_92

我需要编译不同版本的源码,所以安装了不同版本的 jdk,我需要使用那个版本的 jdk在用户目录下,配置aloe@aloe-pc:~$ vim .bashrc 即可:

export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_79

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_92

export JRE_HOME= JAVAHOME/jreexportCLASSPATH=.: J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/lib: JREHOME/libexportPATH= J R E H O M E / l i b e x p o r t P A T H = {JAVA_HOME}/bin: PATHexportPATH= P A T H e x p o r t P A T H = {CLASSPATH}:$PATH

export ANDROID_HOME=/home/aloe/develop/Sdk

export ANDROID_HOME=/media/aloe/c1493149-2d3a-4cb0-b260-7242e91f962a/android/Sdk
export PATH= ANDROIDHOME

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值