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

it2022-05-05  76

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)