zoukankan      html  css  js  c++  java
  • 解决:编译CM14.1 提示Jack “Out of memory error”错误

    Android 7.1编译到33%时出现JDK内存溢出的错误:

    Out of memory error (version 1.2-rc4 'Carnac' (298900 f95d7bdecfceb327f9d201a1348397ed8a843843 by android-jack-team@google.com)).
    GC overhead limit exceeded.
    Try increasing heap size with java option '-Xmx<size>'.
    Warning: This may have produced partial or corrupted output.

    错误日志里边列出了问题并且已经给出了解决方案 - 增加Java虚拟机的-Xmx大小,即设置一个较大的堆内存上限。

    所以,解决办法是:

    1、修改Jack的配置文件prebuilts/sdk/tools/jack-admin

      这是一个管理Jack的shell脚本,找到start-server函数,直接修改其启动参数,由原来的

    JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -cp $LAUNCHER_JAR $LAUNCHER_NAME"

    更改为

    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服务器仍然在后台执行,所以我们需要将其停止,然后重启启动(make会自动启动Jack服务器)才能使得修改后的参数生效。

      我们执行下面的命令:

    #先停止服务
    ./prebuilts/sdk/tools/jack-admin stop-server
    #重新开始服务 .
    /prebuilts/sdk/tools/jack-admin start-server

    详细的错误日志里边列出了问题并且已经给出了解决方案 - 增加Java虚拟机的-Xmx大小,即设置一个较大的堆内存上限。

  • 相关阅读:
    装饰器的理解和使用
    策略模式的理解
    mongo 多条件or
    不止代码 == 摘读
    egret打包android + android微信登录--小结
    springboot整合mongo多数据源
    SpringBoot集成JWT 实现接口权限认证
    nginx反向代理使用网址速度变慢
    2017年2月总结
    (转)Mac os x 下配置Intellij IDEA + Tomcat 出现权限问题的解决办法
  • 原文地址:https://www.cnblogs.com/dinphy/p/6138803.html
Copyright © 2011-2022 走看看