了解构建错误:方法代码太大

时间:2015-12-14 23:05:56

标签: codenameone

将Andoird Build发送到服务器时,我收到以下构建错误:

  

错误!无法转换某些类java.lang.RuntimeException:   方法代码太大了!在   net.orfjackal.retrolambda.asm.MethodWriter.getSize(MethodWriter.java:2036)     在   net.orfjackal.retrolambda.asm.ClassWriter.toByteArray(ClassWriter.java:827)     在   net.orfjackal.retrolambda.Transformers.transform(Transformers.java:121)     在   net.orfjackal.retrolambda.Transformers.transform(Transformers.java:106)     在   net.orfjackal.retrolambda.Transformers.backportClass(Transformers.java:46)     在net.orfjackal.retrolambda.Retrolambda.run(Retrolambda.java:72)at at   net.orfjackal.retrolambda.Main.main(Main.java:26)

我必须承认我不确定为什么会这样,因为我没有引用这些类。有人可以解释如何追查原因并修复它吗?自上次成功构建以来,我没有添加任何新的导入:/我的项目也设置为使用Java 8.不确定从哪里开始说实话。

1 个答案:

答案 0 :(得分:3)

64k的类文件中的方法大小存在硬性限制。您至少需要拆分一个大方法。它可能只是在初始编译的限制之下,但是retrolambda转换只是推动了它。您需要将这些方法拆分为更小的方法。

这个错误并不能真正让你知道哪些方法有问题,但你可能会注意它。