簡體   English   中英

如何在android中使用java 8庫?

[英]How to use a java 8 library with android?

我正在嘗試使用在我的android項目中使用java 8的庫。 我無法找到一種方法來完成這項工作。 我試過使用復古lambda,但它沒有幫助。 我一直收到錯誤:com.android.dx.cf.iface.ParseException:bad class file magic(cafebabe)或version(0034.0000)

我已經研究了這個並且學到了它,因為包含的庫中有java 8語法。 我一直在使用java 8 sdk編譯並使用android studio 08.2。 救命! 該庫是: https//github.com/robrua/Orianna

解決方案1

等待android支持Java8。

解決方案2

使用不是Java8的庫的早期版本和/或要求庫的開發人員提供一個/最后一個Java6(或用於向上的Java7)庫。

解決方案3

這是某種黑客 ,我沒有測試甚至使用它!

使用retrolambda到反向移植的Java8-字節碼的Java6。 在retrolambda的主頁上,您可以找到一些關於它的文檔。 retrolambda的下載地點在這里

可能你必須將庫jar解壓縮到一個文件夾並運行如下命令:

java -Dretrolambda.inputDir=<extracted_classfiles>
     -Dretrolambda.classpath=<extracted_classfiles>
     -Dretrolambda.bytecodeVersion=50
     -javaagent:retrolambda.jar
     -jar retrolambda.jar

也許您必須根據庫的依賴關系擴展類路徑。 然后你必須將生成的jar文件復制到android-project的lib文件夾中。

也可以為Java編程Java8

如果retrolambda不起作用,你可以找到另一個工具來將Java8字節碼反向移植到Java6字節碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM