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 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%



更多相关文章

  1. 探索react-native run-ios(android)
  2. android获取已安装应用中的系统应用程序
  3. ReactNative打包发布流程、自动化上传第三方测试平台
  4. Android模块化编译
  5. Android之 VersionCode,VersionName(1)版本号和版本名称的重要性介
  6. Android(安卓)Studio3.0 Kotlin工程问题集
  7. java.lang.RuntimeException: Unable to start activity Compone
  8. Android(安卓)Studio导入Github项目时Plugin错误的解决办法
  9. Android(安卓)Studio project有多个module情况下安装到手机出现

随机推荐

  1. Material Design资料收集
  2. Context Menu
  3. Android键盘自适应方法.
  4. [Android] 环境配置之Android Studio开发
  5. android GradLayout实现计算器
  6. android之Spinner控件用法
  7. Android控件及API说明(三)
  8. android 无界面通过开机下载
  9. Android 多线程之线程池
  10. android:layout_weight属性的简单使用