星空网 > 软件开发 > 操作系统

Android Studio2.1.2 Java8环境下引用Java Library编译出错

问题:在Android Studio2.1.2+Java8的环境下,引用Java Library,同时引用了dataBinding处于enable状态,会导致编译出错,提示“This is caused by library dependencies that have been compiled using Java 8 or above.”,如下图所示:

Android Studio2.1.2 Java8环境下引用Java Library编译出错images/loading.gif' data-original="http://images2015.cnblogs.com/blog/748735/201607/748735-20160719154709451-1625120668.png" />

解决步骤

1、在所有的module的build.gradle文件中添加如下代码:

android {  compileOptions {    sourceCompatibility JavaVersion.VERSION_1_7    targetCompatibility JavaVersion.VERSION_1_7  }}

再次编译运行,发现还是报同样的错误,所以肯定还要修改其他的地方。

2、觉得设置Java版本为1.7行不通,就直接把版本改为了1.8

android {  compileOptions {    sourceCompatibility JavaVersion.VERSION_1_8    targetCompatibility JavaVersion.VERSION_1_8  }}

结果报出错误需要将Jack设置为enable状态,如下:

Android Studio2.1.2 Java8环境下引用Java Library编译出错

我在网上百度了资料,修改主module的build.gradle文件,添加代码

defaultConfig {  jackOptions {    enabled true  }}

再次编译,发现我的情况还真是特殊,还是报错了,因为我使用了databinding,

Android Studio2.1.2 Java8环境下引用Java Library编译出错

3、最后还是修改回了,设置Java版本为1.7,但是这次除了在module的build.gradle文件中设置Java的版本,同时在引用的Java Library的build.gradle文件中添加了如下

“sourceCompatibility = '1.7'”和“targetCompatibility = '1.7'”,代码如下
apply plugin: 'java'dependencies {  compile fileTree(dir: 'libs', include: ['*.jar'])  testCompile 'junit:junit:4.12'  sourceCompatibility = '1.7'  targetCompatibility = '1.7'}

终于编译成功了。

后续:当然网上说也可以同时安装Java1.7和Java1.8,我个人觉得装两个版本也挺麻烦的,所以还是配置下比较方便。

总结:

Java 1.8版本环境下有些功能还不支持,安装配置环境时最好是选择稳定成熟的。

 




原标题:Android Studio2.1.2 Java8环境下引用Java Library编译出错

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流