美文网首页
困扰我两天的RN问题

困扰我两天的RN问题

作者: T_Y_H | 来源:发表于2018-01-27 00:23 被阅读262次

    问题场景:

    执行react-native run-android的时候出现如下错误:
    Error:Execution failed for task ':Test:transformClassesWithDexForDebug'.

    com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException

    错误原因:

    这个错误是由于引入了大量的第三方project导致jvm在编译的时候内存不足

    解决办法:

    这个情况可以在你项目的>android>app>build.gradle文件里面如下图所示加入:

    image.png

    dexOptions {
    javaMaxHeapSize "4g"
    }
    一般人到了这一步基本已经解决了以上问题,但如果你不是一般人(你是二班的),那么请往下看:

    场景二:以上方法“无效”(嘿嘿)

    其实方法是有效的,无效的原因是因为你本地的jdk版本有问题,限制了你能申请的最大内存,不幸的是我刚好就是被限制了,成了“二班人”,我的jdk是1.8.0_121,刚好被限制了,更新jdk版本到1.8.0_161,如下检查:


    image.png

    没有打印错误信息,说明当前的jdk支持4g内存,

    再次运行项目,完美编译通过

    注:可以在cmd窗口下查看一下当前系统中的java环境中最大允许heap内存是多少,在命令行下用java-XmxXXXXM-version命令来进行测试,然后逐渐的增大XXXX的值,如果执行正常就表示指定的内存大小可用,否则会打印错误信息

    相关文章

      网友评论

          本文标题:困扰我两天的RN问题

          本文链接:https://www.haomeiwen.com/subject/sldwaxtx.html