[英]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
等待android支持Java8。
使用不是Java8的庫的早期版本和/或要求庫的開發人員提供一個/最后一個Java6(或用於向上的Java7)庫。
這是某種黑客 ,我沒有測試甚至使用它!
使用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.