题记:编译花了将近4小时,所以编译源码是很费时的哦,可以在编译的时候可以学习其他的知识

编译环境准备

软件:WorkStation10

系统:ubuntu14.04

内存:8G

处理器:4个

磁盘大小:100G

以下是安卓7.1源码(全志)和内核编译步骤:

一、内核编译

1、安装jdk8(注本人使用的是openjdk8)

sudo add-apt-repository ppa:openjdk-r/ppasudo apt-get updatesudo apt-get install openjdk-8-jdk

java -version #检测jdk安装

2、安装必要的一些包(以下的包,都是采坑一个个过来的,所以请务必都安装)

sudo apt-get install gawk #解决:awk: line 2: function strtonum never defined

apt-get installfakeroot #解决:../scripts/build_rootfs.sh: line 19: fakeroot: command not found

sudo apt-get install g++-multilib gcc-multilib #解决:lichee/tools/pack/pctools/linux/android/mkbootimg: No such file or directory

3、不出意外的话,就可以看到如下成功编译结果

二、安卓源码编译

1、进入安卓源码目录,执行以下命令

$cd ../android/ #安卓源码目录$source build/envsetup.sh    #启动源码编译环境(即添加编译命令)$lunch #选择平台编译选项

2、启动lunch命令,选择平台(一般选22),如下图所示。

这些系统平台含义如下:

eng: 工程机,

user:最终用户机

userdebug:调试测试机

tests:测试机

3、执行以下命令,编译安卓源码

$extract-bsp

$make -j4 #编译(make -j4表示处理器4个,根据电脑配置选择)

$pack #将编译成功的系统打包成img镜像。

你以为步骤3这么容易?  No 。我大概花了4个晚上才成功,每天有不同的问题出现,主要是编译环境的问题,下面贴出我编译过程中出现的问题以及解决方法。

FAQ

问题一:出现*****prebuilts/misc/linux-x86/bison/bison.......

解决方法:sudo apt-get install bison

问题二:出现ninja: build stopped: subcommand failed Android 或者GC overhead limit exceeded.

解决方法:修改prebuilts/sdk/tools/jack-admin 文件内容

将JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -cp $LAUNCHER_JAR $LAUNCHER_NAME" 改为

JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -Xmx4096m -cp $LAUNCHER_JAR $LAUNCHER_NAME"

注:-Xmx4096m或者-Xmx4g ,表示使用主机内存的一半,前面我说本人使用的内存是8G哦,当然如果你的内存大,可以使劲的用

问题三:出现Failed to contact Jack server: Problem reading .jack-server/client.pem. Try 'jack-diagnose'

解决方法:

jack-admin kill-server  #杀死jack进行

jack-admin uninstall-server  #卸载jack服务

make    # 编译

注:Jack编译器工具是一套新的Android编译工具用来将Java代码转换为Android dex字节代码,所以你jack就是用来将java代码编译成安卓的字节码编译器

希望这些可以帮助大家!

全志JAVA_ubuntu14.04+安卓7.1(全志源码)+openjdk-8编译相关推荐

  1. Ansroid系统(262)---MTK安卓sim卡相关源码分析

    MTK安卓sim卡相关源码分析 原文地址:http://m.blog.csdn.net/article/details?id=50039589 最近由于一个sim卡相关的需求,就去了解了一下Andro ...

  2. cocos creator2.3.5休闲游戏英文版(连连看)源码H5+安卓+IOS三端源码

    cocos creator2.3.5休闲游戏英文版(连连看)源码H5+安卓+IOS三端源码,开发脚本为typeScript方便扩展和阅读,支持cocos creator2.X版本,完整的源码可直接运营 ...

  3. cocos creator3.3.0休闲游戏(云浮消消乐)源码H5+安卓+IOS三端源码

    cocos creator3.3.0休闲游戏(云浮消消乐)源码H5+安卓+IOS三端源码,开发脚本为typeScript方便扩展和阅读,支持cocos creator3.X版本,完整的源码可直接运营. ...

  4. 休闲游戏合成植物打僵尸源码-H5+安卓+IOS三端源码

    游戏引擎:Cocos Creator 2.3.3 编程语言:TypeScript cocos creator休闲游戏合成植物打僵尸源码-H5+安卓+IOS三端源码,开发脚本为javaScript方便扩 ...

  5. cocos creator休闲游戏甜品幻想H5+安卓+IOS三端源码开发脚本为javaScript

    cocos creator休闲游戏甜品幻想H5+安卓+IOS三端源码,开发脚本为javaScript方便扩展和阅读,支持cocos creator2.X版本,完整的源码可拿来运营学习研究二次开发. 1 ...

  6. cocos creator经典游戏英文版《俄罗斯方块》源码H5+安卓+IOS三端源码

    cocos creator2.2.2经典游戏英文版<俄罗斯方块>源码H5+安卓+IOS三端源码,开发脚本为typeScript方便扩展和阅读,支持cocos creator2.X版本,完整 ...

  7. 【附源码】计算机毕业设计Python安卓“我爱厨房”APP5loq7(源码+程序+LW+调试部署)

    [附源码]计算机毕业设计Python安卓"我爱厨房"APP5loq7(源码+程序+LW+调试部署) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行环境配置 ...

  8. cocos creator2.2.2休闲游戏(单机捕鱼)源码H5+安卓+IOS三端源码

    cocos creator2.2.2休闲游戏(单机捕鱼)源码H5+安卓+IOS三端源码,开发脚本为typeScript方便扩展和阅读,支持cocos creator2.X版本,完整的源码可直接运营. ...

  9. 简洁的安卓软件下载页源码

    介绍: 简洁的安卓软件下载页源码 网盘下载地址: https://zijiewangpan.com/QMOkB99n2hg 图片:

最新文章

  1. 【干货书】深度学习合成数据
  2. Redux 莞式教程 之 简明篇
  3. Apache Kafka-事务消息的支持与实现(本地事务)
  4. DLA实现跨地域、跨实例的多AnalyticDB读写访问
  5. 前端为什么要使用组件化的思想,通过一个实例来分析
  6. Android语音录入与邮件发送
  7. python类中引用数据是通过_重载python类中的[]运算符以引用数字阵列数据内存
  8. java 基础 泛型
  9. 七大顶级编程学习网站
  10. 触感啥意思_苹果手机系统触感反馈是什么意思
  11. word-单独设置某一页的页眉或页脚
  12. React Native Navigation
  13. python中换页是干嘛的_python什么是转页符
  14. E/art﹕Failed sending reply to debugger: Broken pipe的解决方法
  15. 招商银行笔试题之修塔游戏
  16. 百家号怎么发送链接,发送自己的链接变成文字等解答
  17. Convolution over Hierarchical Syntactic and Lexical Graphs for Aspect Level Sentiment Analysis论文阅读
  18. PHP实现短网址规则,使用PHP生成短网址的方案
  19. Angular *NgFor - angular 基础教程
  20. MATLAB下载支持包时出现问题

热门文章

  1. 轻松上手 | 使用国内资源安装 K3s 全攻略
  2. 小学计算机教海探航论文名字,教海探航论文.doc
  3. Cause: java.sql.SQLException: 无效的列类型
  4. android通知启动应用程序,用户单击Urban Airship通知时重新启动Android应用程序
  5. 一直搞不懂SIMNOW网站的逻辑
  6. 如何编辑PDF文件?简单好用的编辑方法分享
  7. 出生日期算年龄html,Javascript从出生日期算起的年龄
  8. JAVA使用POI-TL通过Word模板生成Word文件
  9. 分享一个好用的在线加解密工具
  10. 1244 数列有序