将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.不确定从哪里开始说实话。
答案 0 :(得分:3)
64k的类文件中的方法大小存在硬性限制。您至少需要拆分一个大方法。它可能只是在初始编译的限制之下,但是retrolambda转换只是推动了它。您需要将这些方法拆分为更小的方法。
这个错误并不能真正让你知道哪些方法有问题,但你可能会注意它。