Msm8937+android7.1.1编译环境搭建及编译

1. 硬件配置建议如下:

内存>=16GB

CPU>=i7 四核

2. 软件配置如下:

系统:Ubuntu16.04

JDK:open jdk 1.8

3.环境安装:

更换默认shell,使用下面命令:

sudo rm /bin/sh &&sudo ln -sn /bin/bash /bin/sh

其他环境安装,使用下面命令:

sudo apt-get installlibtool openssh-server samba git-core g++ make

diffstat texi2htmltexinfo subversion gawk chrpath libsm6 libxrender1

libfontconfig1

Sudo apt-get installgnupg flex bison gperf build-essential zip curl

zlib1g-dev libc6-devlib32ncurses5-dev lib32z1 lib32ncurses5

x11proto-core-devlibx11-dev libreadline-gplv2-dev lib32z1-dev

libgl1-mesa-devg++-multilib binutils-mingw-w64 tofrodos

python-markdownlibxml2-utils xsltproc genisoimage python-imaging bc

在安装过程发现安装部分失败,比如在sudoapt-get install subversion,提示unableto locate package subversion,需要变更下载源(Downdfrom这里),之前是china,我变更为这个,但变更时间挺长的,用aliyun可能更好,下载速度更快。

5. 编译

5.1 user 版本编译方法

sourcebuild/envsetup.sh

lunchmsm8937_64-user

make -j16

5.2 debug 编译方法

sourcebuild/envsetup.sh

lunchmsm8937_64-userdebug

make -j16

也可以用./buils.shmsm8937_64 -v user,还可以是eng和userdebug

5.3 编译的问题

如果编译机器的内存<=8GB,会提示

[ 30% 21418/71006]Building with Jack:...k_intermediates/with-local/classes.dex

FAILED: /bin/bashout/target/common/obj/JAVA_LIBRARIES/framework_intermediates/with-local/classes.dex.rsp

Out of memory error(version 1.2-rc4 'Carnac' (298900f95d7bdecfceb327f9d201a1348397ed8a843843 byandroid-jack-team@google.com)).

GC overhead limitexceeded.

Try increasing heapsize with java option '-Xmx<size>'.

Warning: This mayhave produced partial or corrupted output.

[ 30% 21418/71006]Building with Jack:...http.legacy_intermediates/classes.jack

ninja: buildstopped: subcommand failed.

build/core/ninja.mk:148:recipe for target 'ninja_wrapper' failed

make: ***[ninja_wrapper] Error 1

jack的log文件位于$HOME/.jack-server/logs文件夹下(编译android之前/目录下没有.jack-server和.jack-settings),比如jack-server-0-0.log

解决方案

报错分析:Jack“Out of memory error”

详细的错误日志如下

Out of memory error(version 1.2-rc4 'Carnac' (298900f95d7bdecfceb327f9d201a1348397ed8a843843 byandroid-jack-team@google.com)).

GC overhead limitexceeded.

Try increasing heapsize with java option '-Xmx<size>'.

Warning: This mayhave produced partial or corrupted output.

详细的错误日志里边列出了问题并且已经给出了解决方案- 增加Java虚拟机的-Xmx大小,即设置一个较大的堆内存上限。

可以修改Jack的配置文件prebuilts/sdk/tools/jack-admin。

这是一个管理Jack的shell脚本,直接修改其启动参数,由原来的改为:

JACK_SERVER_VM_ARGUMENTS=

"-Dfile.encoding=UTF-8-XX:+TieredCompilation –Xmx4096m"

JACK_SERVER_VM_ARGUMENTS="${JACK_SERVER_VM_ARGUMENTS:=-Dfile.encoding=UTF-8-XX:+TieredCompilation -Xmx4096M}"

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

红色部分是增加的。

此时Jack服务器仍然在后台执行,所以我们需要将其停止,然后重启启动(make会自动启动Jack服务器)才能使得修改后的参数生效。

jack server 运行和开启

./jack-admin kill-server

./jack-admin start-server

然后我们重新执行make -jN命令(N是你前边设置的并行任务数量)开始编译。我们这里是make-j8

参考链接:

http://blog.csdn.net/u012915455/article/details/52382630#51-jack-out-of-memory-error

http://stackoverflow.com/questions/42935822/android-jack-error-no-mapping-specified-for-register

jackserver 常见错误解决方法

http://blog.csdn.net/xz10561/article/details/53886691

Android7.0JACK编译器不支持多用户同时编译的问题的解决

http://blog.csdn.net/lizekun2010/article/details/52535591

Msm8937+android7.1.1编译环境搭建及编译相关推荐

  1. FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译

    FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译 什么是Firmament? Firmament (FMT) 是一款基于模型设计 (Model-Based-Design, M ...

  2. EDK2编译环境搭建、编译、在模拟器运行、在笔记本运行(带目录版本)

    前言 自己对写操作系统这个事情比较感兴趣,但是这条路太漫长,只能慢慢来,原来是基于传统的汇编+C语言编写,现在UEFI基本很普及了,因为想着使用国外的操作系统始终存在安全隐患,所以想好好学习一把,由于 ...

  3. EDK2编译环境搭建、编译、在模拟器运行、在笔记本运行

    自己对写操作系统这个事情比较感兴趣,但是这条路太漫长,只能慢慢来,原来是基于传统的汇编+C语言编写,现在UEFI基本很普及了,因为想着使用国外的操作系统始终存在安全隐患,所以想好好学习一把,由于是初学 ...

  4. ①GD32Keil编译环境搭建及编译Demo

    进入 兆易官网 下载对应芯片的演示套件 下载解压后文件内容如下 安装keil5(我的keil5)下的pack包 打开demo包下的一个例程 提示如下 这时候我们退出工程,在工程扩展名后面加一个x,改为 ...

  5. AMSS编译环境搭建

    http://wenku.baidu.com/view/2d3a3b7927284b73f2425012.html AMSS编译环境搭建 说明:编译环境说明请参见QualcommRelease not ...

  6. Runtime编译环境搭建

    Runtime编译环境搭建 首先,需要准备的资源:runtime完整源码,这个可以在苹果开放资源网页找到.点进这个页面,接着点击macOS下面的最新版本,在新页面中command+f搜索objc即可找 ...

  7. esp32 linux内核,【小狂系列】跟着小狂玩ESP32之编译环境搭建篇

    本帖最后由 3guoyangyang7 于 2016-11-3 18:41 编辑 趁热要打铁,昨天发了ESP32的预告贴,今天小狂就带大家刷一刷ESP32的编译环境搭建.怎么说的,ESP32可以在多平 ...

  8. -i 可以编译添加多个_大咖说 | 基于 NXP i.MX8 eIQ 环境搭建和编译

    一.前言 NXP 针对 Machine Learning ( ML ) 创建了 eIQ 工具,以方便开发者在 i.MX 系列设备上开发 ML 相关应用. 本篇将会分两个章节,一章节介绍 eIQ 软件, ...

  9. Windows编译环境搭建(VS2010)

    引言:   本篇文章基于教程目的(由于windows和linux相关环境搭建篇幅过大,在博客中做这些讲解),主要描述Windows的发展历程和编译环境搭建(基于 Visual Studio 2010版 ...

  10. spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ]

    spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ] 一. Gradle下载与安装 软件名称 版本 下载地址 jdk jdk 11.0.5 下载链接 提取码 ...

最新文章

  1. 如何在OpenCV中为InRange阈值选择颜色的最佳HSV值
  2. 解决IOS滑动页面fixed浮动问题
  3. C++基础--简单Socket通信实例
  4. 【企业管理】整理和思考-陈春花:2022年经营关键词
  5. php截取字符串,带中文,多余的省略号代替
  6. 使用Java 8 CompletableFuture和Rx-Java Observable
  7. python3 安装Crypto 出现的问题
  8. laravel常用响应操作
  9. 翻译:A DSL in 5 Languages(五种语言的DSL)
  10. Oracle 10g RAC Installer 故障之--Oracle软件安装无法发现集群
  11. USACO-Section2.3 Longest Prefix
  12. HTTPS是如何保证连接安全:每位Web开发者都应知道的
  13. txt电子书如何用IOS苹果手机打开?
  14. erp系统服务器电脑配置,erp软件服务器电脑配置
  15. 麻雀的叫声matlab文件,诱捕麻雀叫声mp3下载|
  16. 计算机网络技术广告,屏蔽QQ广告和迷你首页广告
  17. 搜索之下的在线教育,逆商业周期而动?
  18. 鸿蒙到底是不是安卓?
  19. Android动画总结系列(2)——补间动画使用
  20. Linux小白三天入门进阶笔记——DAY1

热门文章

  1. zzulioj 1819: 加加加!(油) (打表)
  2. LoadRunner教程(16)-LoadRunner SLA分析
  3. 交换机端口镜像配置大全【汇集 22个各种品牌交换机】
  4. React-Native调用系统分享组件Share组件的使用
  5. 基于MATLAB的车牌识别实现
  6. 四川大学本科教务系统 - 一键评教
  7. 操作系统server 2012 r2 安装简体中文语言包
  8. Cisco IOS镜像文件的下载地址
  9. 教你几招提高自媒体文章原创度
  10. 清华大学计算机直硕生,推免数据 | 清华大学计算机系三大巨变——直硕生减半,本校增多,211增多...