android 编译碰到的问题及解决办法:(ubuntu下编译)

android 编译碰到的问题及解决办法:
虽然照着说明来进行,但还是会遇到一些问题。下面是记录及解决方法
35G 的文件集,编出70多G的文件,是一件苦差事,动用nmon全程监视
自己晚上,白天受累是免不了的。成功愉快!
------------------------------------------------------------
问题1: JDK 版本不对
------------------------------------------------------------
You use OpenJDK but only Sun/Oracle JDK is supported.
Please follow the machine setup instructions at
    https://source.android.com/source/download.html


甲:查看java 版本:
java -version
发现是openJDK, 而不是Oracle 的 JDK

乙: 删除openjdk 相关包
apt-get remove openjdk*可以卸载openJDK


丙: 安装sun javaa6-jdk
第一步:添加 PPA repository 到系统
    $ sudo add-apt-repository ppa:webupd8team/java  

第二步:更新
    $ sudo apt-get update  

第三步:下载安装 JDK
    $ sudo apt-get install oracle-java6-installer  


这里安装的是 JDK6, JDK7, JDK8, JDK9 也可以安装,用apt-cache search 查询


第四步:设置为默认(只一个版本,就不用了)
    /$ sudo apt-get install oracle-java6-set-default  


第五步:查看版本
    /$ java -version  

补充: 手工设置xxx 为默认的方法,以java 为例:
update-alternatives --config java
将列出可选项

------------------------------------------------------------
问题2: 所需包没有安装
------------------------------------------------------------
ubuntu 14.04
Installing required packages
sudo apt-get install bison g++-multilib git gperf libxml2-utils make zip (zlib1g-dev:i386)
sudo apt-get install flex

------------------------------------------------------------
问题3: make -j4 出现了segment-fault, internal error, 具体如下
------------------------------------------------------------
In file included from external/chromium_org/v8/src/heap.h:43:0,
                 from external/chromium_org/v8/src/elements.h:33,
                 from external/chromium_org/v8/src/objects-inl.h:38,
                 from external/chromium_org/v8/src/v8.h:62,
                 from external/chromium_org/v8/src/full-codegen.cc:28:
external/chromium_org/v8/src/v8-counters.h:312:3: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://source.android.com/source/report-bugs.html> for instructions.
make: *** [out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/v8_tools_gyp_v8_base_arm_gyp_intermediates/v8/src/full-codegen.o] Error 1
make: *** Waiting for unfinished jobs....

分析:
这是编译器的问题,与代码无关, 试一试单线程吧,并发毕竟不稳定!
解决方法:
   用make 绕了过去,还是单线程稳定。否则....。

------------------------------------------------------------
问题4: cpu 假死
------------------------------------------------------------
用make 编译到webkit 时,及其慢, 查看cpu 占用率低,硬盘使用率低。
要等到侯年马月。 忍不住,停止它,用make -j4
放展了4个cpu, 飞速编译。
原来单个线程时, 跑了一会后,可能出了问题,需要重来! reset 来解决问题
搞得我的风扇不断响起,cpu 忙啊!!! 4个都是100%



  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值