警告: 从发行版 10 开始,‘var‘ 是受限制的本地变量类型,无法用于类型声明,也无法

问题产生背景

今天拉了一下公司的项目代码,在build时爆了 “警告: 从发行版 10 开始,‘var’ 是受限制的本地变量类型,无法用于类型声明,也无法”的错误,网上各种方法都试过了,没有作用,头要炸了。

问题产生原因

从爆出来的错误显示,这个问题是由于Java的JDK版本过高导致不允许var的使用。
那太简单了,我不用不就好了,于是我把用了va r 的地方都改成实际的数据类型。运行,嘿嘿!结果又爆出其他的错误,比如lamda参数推倒错误,一些语法糖错误等等。
所以我就意识到改是不可能改的成功的,要改的话整个项目工作量太大了。
所以我们要降低As的Java JDK版本!

进一步解决

现在查看一下我们是否安装了JDK
1。打开终端,命令行。
公司的是Mac电脑,win + space(空格)
输入 “终端”
(如果是windows电脑,就win+c,输入c m d)
2。输入命令 “java -version”
警告: 从发行版 10 开始,‘var‘ 是受限制的本地变量类型,无法用于类型声明,也无法_第1张图片
可以看到我们安装了 Java 8 ,明明是8,为什么又报错说是10呢?
3。再输入命令,“/usr/libexec/java_home”
警告: 从发行版 10 开始,‘var‘ 是受限制的本地变量类型,无法用于类型声明,也无法_第2张图片
这里我们就可以清楚看到Java_home的位置了,Java明明为8,却报错为 10,那就只有2种可能,
AndroidStudio中Java版本为10以上
AndroidStudio中关于Java_home的配置是错误的

最终解决

  1. 打开As, File => Project Structure =>Modules
    警告: 从发行版 10 开始,‘var‘ 是受限制的本地变量类型,无法用于类型声明,也无法_第3张图片
    AndroidStudio的版本根本没有问题,就是8,那问题只可能出现在 AndroidStudio中关于Java_home的配置
  2. 点击 SDK Location,
    警告: 从发行版 10 开始,‘var‘ 是受限制的本地变量类型,无法用于类型声明,也无法_第4张图片
    看这个 JDK location,发现啥没?这个Java_home是As软件自带的,

所以把它删除了
把刚才查到的Java_home路径复制过来,粘贴在JDk location中,
警告: 从发行版 10 开始,‘var‘ 是受限制的本地变量类型,无法用于类型声明,也无法_第5张图片
点击 OK!。

你可能感兴趣的:(android,studio,android)