我正在運行Gluon/charm版本3.0.0。我添加了一個Java8編譯庫添加到我的JavaFX項目(通過的IntelliJ插件創建),並在iOS上它的工作原理,並建立符合市場預期,但在執行gradle這個任務時android
或androidInstall
我得到這個錯誤回:InvokeDynamic在爲Android構建時不支持
[ant:java] Java Result: 1
:createMainDexList FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':createMainDexList'.
> Exception in thread "main" com.android.dx.cf.iface.ParseException: InvokeDynamic not supported
at com.android.dx.cf.cst.ConstantPoolParser.determineOffsets(ConstantPoolParser.java:226)
at com.android.dx.cf.cst.ConstantPoolParser.parse(ConstantPoolParser.java:132)
at com.android.dx.cf.cst.ConstantPoolParser.parseIfNecessary(ConstantPoolParser.java:124)
at com.android.dx.cf.cst.ConstantPoolParser.getPool(ConstantPoolParser.java:115)
at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:491)
at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
at com.android.dx.cf.direct.DirectClassFile.parseToEndIfNecessary(DirectClassFile.java:397)
at com.android.dx.cf.direct.DirectClassFile.getAttributes(DirectClassFile.java:311)
at com.android.multidex.MainDexListBuilder.hasRuntimeVisibleAnnotation(MainDexListBuilder.java:191)
at com.android.multidex.MainDexListBuilder.keepAnnotated(MainDexListBuilder.java:167)
at com.android.multidex.MainDexListBuilder.<init>(MainDexListBuilder.java:121)
at com.android.multidex.MainDexListBuilder.main(MainDexListBuilder.java:91)
at com.android.multidex.ClassReferenceListBuilder.main(ClassReferenceListBuilder.java:58)
...while preparsing cst 0002 at offset 0000000f
...while parsing de/<removed>/traffic_light/library/Test.class
我覺得有點奇怪的是,我甚至沒有針對traffic_light的Test類,即使在庫中也沒有。搜索錯誤我發現它可能需要Java 8來調用Dynamic/Support Lambdas,但例如,Gluon的Presenter本身使用Lambdas。
另外,谷歌搜索我找到this hit about the same issue,但不幸的是,膠子刪除了他們的論壇和頁面沒有緩存在任何地方。
作爲安卓3.0.0工作室的,你放心,同時具有全Java8支持刪除RetroLambda - 也對於依賴關係,所以這個錯誤不應該再發生。 –