在编译android4.4的时候libwebviewchromium.so时停止很长时间发生错误

1.问题描述

        编译android4.4的时候,突然编译停止在

target SharedLib: libwebviewchromium (out/target/product/generic/obj/SHARED_LIBRARIES/libwebviewchromium_intermediates/LINKED/libwebviewchromium.so)

最后出现编译错误:

    build/core/shared_library_internal.mk:68 recipe for target 'out/target/product/generic/obj/SHARED_LIBRARIES/libwebviewchromium_intermediates/LINKED/libwebviewchromium.so' failed

    make: ** [out/target/product/generic/obj/SHARED_LIBRARIES/libwebviewchromium_intermediates/LINKED/libwebviewchromium.so] Error 1

    make: ** Deleting file 'out/target/product/generic/obj/SHARED_LIBRARIES/libwebviewchromium_intermediates/LINKED/libwebviewchromium.so'

    make: Leaving directory 'home/username/android'

    #### make failed to build some target (07:53:05 (hh:mm:ss)) ####

2.问题分析

       android在编译的时候占用大量的内存,如果物理内存不够用,则会用swap内存来替代;如果swap空间太小,android编译就会出错。


3.解决方案

        1.增加电脑的内存条。2.给虚拟机分配多一些内存。3.增加swap分区的大小。3.重启ubuntu。

        第一个方案有时候不太实际,见效慢一点,但长远来看是很值得去做。第二个方案是可行的,但受限于你电脑的总内存。第三个方案可行,只不过swap分区其实就是硬盘空间,访问速度比不上内存,但毕竟便宜。第四种方案是在前两三种方案不见效的时候可以试试。

        本人给虚拟机分配了8G的内存空间,还是出现那个问题,然后我给虚拟机增加了swap分区,问题还是没有解决。最后重启虚拟机,再编译一次就通过了。想了一下,猜测是之前编译错误后再尝试过两次,导致虚拟机的内存空间一直被占用,没有释放,在重启虚拟机的时候就释放了所有内存空间。

编译完之后,内存占用如下:

topeet@ubuntu:~/Android$ free
             total       used       free     shared    buffers     cached
Mem:       8174784    7063752    1111032          0      22512    6379800
-/+ buffers/cache:     661440    7513344
Swap:      2047992      20848    2027144



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值