我正在尝试使用在我的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(或 Kitcat 向上的 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
Run Code Online (Sandbox Code Playgroud)
也许您必须根据库的依赖关系扩展类路径。然后,您必须将生成的 jar 文件复制到 android 项目的 lib 文件夹中。
如果 Retrolambda 不起作用,也许您可以找到另一个工具将 Java8 字节码向后移植到 Java6 字节码。
| 归档时间: |
|
| 查看次数: |
2484 次 |
| 最近记录: |