Msm8937+android7.1.1编译环境搭建及编译
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编译环境搭建及编译相关推荐
- FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译
FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译 什么是Firmament? Firmament (FMT) 是一款基于模型设计 (Model-Based-Design, M ...
- EDK2编译环境搭建、编译、在模拟器运行、在笔记本运行(带目录版本)
前言 自己对写操作系统这个事情比较感兴趣,但是这条路太漫长,只能慢慢来,原来是基于传统的汇编+C语言编写,现在UEFI基本很普及了,因为想着使用国外的操作系统始终存在安全隐患,所以想好好学习一把,由于 ...
- EDK2编译环境搭建、编译、在模拟器运行、在笔记本运行
自己对写操作系统这个事情比较感兴趣,但是这条路太漫长,只能慢慢来,原来是基于传统的汇编+C语言编写,现在UEFI基本很普及了,因为想着使用国外的操作系统始终存在安全隐患,所以想好好学习一把,由于是初学 ...
- ①GD32Keil编译环境搭建及编译Demo
进入 兆易官网 下载对应芯片的演示套件 下载解压后文件内容如下 安装keil5(我的keil5)下的pack包 打开demo包下的一个例程 提示如下 这时候我们退出工程,在工程扩展名后面加一个x,改为 ...
- AMSS编译环境搭建
http://wenku.baidu.com/view/2d3a3b7927284b73f2425012.html AMSS编译环境搭建 说明:编译环境说明请参见QualcommRelease not ...
- Runtime编译环境搭建
Runtime编译环境搭建 首先,需要准备的资源:runtime完整源码,这个可以在苹果开放资源网页找到.点进这个页面,接着点击macOS下面的最新版本,在新页面中command+f搜索objc即可找 ...
- esp32 linux内核,【小狂系列】跟着小狂玩ESP32之编译环境搭建篇
本帖最后由 3guoyangyang7 于 2016-11-3 18:41 编辑 趁热要打铁,昨天发了ESP32的预告贴,今天小狂就带大家刷一刷ESP32的编译环境搭建.怎么说的,ESP32可以在多平 ...
- -i 可以编译添加多个_大咖说 | 基于 NXP i.MX8 eIQ 环境搭建和编译
一.前言 NXP 针对 Machine Learning ( ML ) 创建了 eIQ 工具,以方便开发者在 i.MX 系列设备上开发 ML 相关应用. 本篇将会分两个章节,一章节介绍 eIQ 软件, ...
- Windows编译环境搭建(VS2010)
引言: 本篇文章基于教程目的(由于windows和linux相关环境搭建篇幅过大,在博客中做这些讲解),主要描述Windows的发展历程和编译环境搭建(基于 Visual Studio 2010版 ...
- spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ]
spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ] 一. Gradle下载与安装 软件名称 版本 下载地址 jdk jdk 11.0.5 下载链接 提取码 ...
最新文章
- 如何在OpenCV中为InRange阈值选择颜色的最佳HSV值
- 解决IOS滑动页面fixed浮动问题
- C++基础--简单Socket通信实例
- 【企业管理】整理和思考-陈春花:2022年经营关键词
- php截取字符串,带中文,多余的省略号代替
- 使用Java 8 CompletableFuture和Rx-Java Observable
- python3 安装Crypto 出现的问题
- laravel常用响应操作
- 翻译:A DSL in 5 Languages(五种语言的DSL)
- Oracle 10g RAC Installer 故障之--Oracle软件安装无法发现集群
- USACO-Section2.3 Longest Prefix
- HTTPS是如何保证连接安全:每位Web开发者都应知道的
- txt电子书如何用IOS苹果手机打开?
- erp系统服务器电脑配置,erp软件服务器电脑配置
- 麻雀的叫声matlab文件,诱捕麻雀叫声mp3下载|
- 计算机网络技术广告,屏蔽QQ广告和迷你首页广告
- 搜索之下的在线教育,逆商业周期而动?
- 鸿蒙到底是不是安卓?
- Android动画总结系列(2)——补间动画使用
- Linux小白三天入门进阶笔记——DAY1
热门文章
- zzulioj 1819: 加加加!(油) (打表)
- LoadRunner教程(16)-LoadRunner SLA分析
- 交换机端口镜像配置大全【汇集 22个各种品牌交换机】
- React-Native调用系统分享组件Share组件的使用
- 基于MATLAB的车牌识别实现
- 四川大学本科教务系统 - 一键评教
- 操作系统server 2012 r2 安装简体中文语言包
- Cisco IOS镜像文件的下载地址
- 教你几招提高自媒体文章原创度
- 清华大学计算机直硕生,推免数据 | 清华大学计算机系三大巨变——直硕生减半,本校增多,211增多...