文档章节

Android 7.0 编译过程

雨中人X
 雨中人X
发布于 2017/02/27 21:53
字数 452
阅读 116
收藏 2

软件源

由于国内屏蔽了Android 源,所以我使用了清华的软件源。 官网

下面是摘录的使用方法

下载 repo

mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

下载初始化包

由于首次同步需要下载 24GB 数据,过程中任何网络故障都可能造成同步失败,所以提供了初始包下载。

wget https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包
tar xf aosp-latest.tar
cd AOSP   # 解压得到的 AOSP 工程目录
# 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录
repo sync # 正常同步一遍即可得到完整目录
# 或 repo sync -l 仅checkout代码

获得最新源码后,我们现在开始编译过程

编译环境

Android 7.0 使用 opendjdk-8 ,系统内存不低于8G,推荐16G

这是我的编译环境

 "1.8.0_12

安装相关编译器

sudo apt-get install bison g++-multib g++ gcc gcc-multlib make 

编译

source build/envsetup.sh 
lunch
make

编译流程

接下来就是漫长的等待了,但比起以前的版本来说快了很多

启动模拟器

启动模拟器

错误处理

GC overhead limit exceeded. Try increasing heap size with java option '-Xmx<size>'

由于系统只有8G内存,所有在编译过程中,提示GC溢出 参考了一些网上的修改方法

方法一: 修改 ~/.jack-server/config.properties

修改配置

将最大数值由4改为1,避免应为内存不足而发生错误。

方法二: 修改 out/host/linux-x86/bin/jack-admin

直接设置Java栈大小

修改jack-admin

注:方法一和方法二修改完成后需要重启 jack-server服务,切记

jack-admin kill-server && jack-admin start-server

相关文献

Android 新一代编译 toolchain Jack & Jill 简介

© 著作权归作者所有

共有 人打赏支持
雨中人X
粉丝 8
博文 57
码字总数 15326
作品 0
深圳
高级程序员
私信 提问
android N 即android 7.0的源码编译

在谷歌官网上有android N的源码编译过程,之前看到过,但是现在不能翻墙了,不知道android 7.0的源码编译和之前6.0和5.0的有哪些不同?具体的软件配置环境和要求??国内有转谷歌文档的网址吗...

雪落青山
2016/05/16
3.4K
0
Android 7.0 "Nougat" 最终版发布

Android 7.0 "Nougat" 最终版发布了,Google表示将重点在性能、安全、生产力三个方面进行改进。其中包括支持Vulkan API,这将意味着能够大大降低CPU的运行负担,提升描绘指令(Draw Call),当...

局长
2016/08/23
5.4K
24
安卓的改进,看看安卓一直怎样在速度上追赶 iOS

一直以来人们都有这样的印象,认为搭载iOS系统的iPhone一定比搭载Android系统的安卓手机流畅。潜移默化中,不少果粉甚至是普通吃瓜群众都形成了这样的思维定式:安卓就是卡、慢的代名词。然而...

局长
2017/06/15
3.7K
50
[RK3399][Android7.1] 调试笔记 --- app安装失败提示证书有问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kris_fei/article/details/84766460 Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83 现象: 在rk3288上预...

KrisFei
2018/12/03
0
0
Android深入四大组件(六)Android8.0 根Activity启动过程(前篇)

相关文章 Android深入四大组件系列 Android系统启动系列 Android应用程序进程系列 Android深入解析AMS系列 前言 在几个月前我写了Android深入四大组件(一)应用程序启动过程(前篇)和Andro...

刘望舒
2017/11/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx的日志

nginx的日志包括错误日志和访问日志,分别使用不同的指令来定义其输出位置和相应的级别。 下面介绍其各自的用途。 错误日志 nginx提供了error_log指令来指定错误日志的输出文件和级别。 指令...

xtof
50分钟前
2
0
【转】ubuntu18.04系统安装完之后显示未发现WiFi适配器【拯救者y7000亲测可用】

解决过程如下: 标题要大才醒目。 第一,插网线: 确保能通过网线连上网,通过路由器连还是直接接口连都没事,因为我们需要联网去下载些驱动以及更新。 第二,更改软件源: 打开“设置”,选...

Aomo
52分钟前
2
0
JSP 页面识别不了标签tag uri: [...] cannot be resolved in

1,org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application 也......

之渊
今天
1
0
Chrome OS或将测试Linux应用的GPU支持

Google 的 Chrome OS 已能支持运行 Linux 应用,但这一支持仍然处于早期阶段,它将在不久之后测试 Linux 应用的 GPU 支持(或叫图形加速),Chromium 源代码被发现加入了在 Linux 应用虚拟机...

linux-tao
今天
1
0
(六)java b2b2c springcloud shop 多用户商城系统源码-分布式配置中心(Spring Cloud Config)

一、简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持...

sccspuercode
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部