Mac OSX 上 Android Studio 编译使用 JAVA8 及 retrolambda 的项目出错解决方案
2015-07-30 21:34
676 查看
问题发生环境及表现:
Mac OSX Yosemite 系统
项目中使用 retrolambda 及 java8
在 Android Studio 中直接 build 时出现如下错误:
问题探索及解决方案:
首先确保根据 gradle-retrolambda 官方文档正确配置
在系统中设置 JAVA8_HOME 等环境变量。设置完成以后在正常情况下在终端中可以正常编译。
这时在 Android Studio 中直接 build 依然不行,原因是 Android Studio 在启动过程中不会读取
可行的解决方案:
通过终端重新启动 Android Studio,这样可以读取
设置系统级的环境变量,如在
参考:https://github.com/evant/gradle-retrolambda/issues/17
Mac OSX Yosemite 系统
项目中使用 retrolambda 及 java8
在 Android Studio 中直接 build 时出现如下错误:
编译器 (1.8.0_40) 中出现异常错误。 如果在 Bug Parade 中没有找到该错误, 请在 Java Developer Connection (http://java.sun.com/webapps/bugreport) 中建立 Bug。请在报告中附上您的程序和以下诊断信息。谢谢。 com.sun.tools.javac.code.Symbol$CompletionFailure: 找不到java.lang.invoke.MethodType的类文件 Error:Execution failed for task ':app:_compileDebugJava'. > Compilation failed; see the compiler error output for details.
FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:_compileDebugJava'. > Compilation failed; see the compiler error output for details.
问题探索及解决方案:
首先确保根据 gradle-retrolambda 官方文档正确配置
在系统中设置 JAVA8_HOME 等环境变量。设置完成以后在正常情况下在终端中可以正常编译。
这时在 Android Studio 中直接 build 依然不行,原因是 Android Studio 在启动过程中不会读取
/home/user/.bash_profile或
/home/user/.bashrc,因此
build.gradle中 retrolambda 的配置无法获取正确的 JAVA8_HOME 路径。
可行的解决方案:
通过终端重新启动 Android Studio,这样可以读取
/home/user/.bash_profile或
/home/user/.bashrc中设置的环境变量
设置系统级的环境变量,如在
/etc/profile中添加 JAVA8_HOME
参考:https://github.com/evant/gradle-retrolambda/issues/17
相关文章推荐
- SourceProvider.getJniDirectories
- 执行失败的任务 ': processDebugManifest'
- Android Studio使用教程(六):Gradle多渠道打包
- Java8 CompletableFuture详解
- Android Studio使用教程(四):Gradle基础
- Android Studio使用教程(五):Gradle命令详解和导入第三方包
- 在Linux操作系统上安装和更新JAVA8的教程
- Java8新特性之重复注解(repeating annotations)浅析
- Java8新特性之Lambda表达式浅析
- Java8新特性之字符串去重介绍
- Java8时间日期库中的常用使用示例
- Java8新特性lambda表达式有什么用(用法实例)
- Debian 7 和 Debian 8 用户安装 Java 8的方法
- Java 8 新特性终极版指南详解
- Java8中使用一行代码读取文件
- Java8新特性之默认方法(default)浅析
- Java8的default方法详细介绍
- Java8中对泛型目标类型推断方法的改进
- Java8新日期时间API的20个使用示例
- JAVA8 十大新特性详解