【我的Android进阶之旅】解决Android Studio启动时报错:Java 1.8 or later is required.

简介: 错误描述在公司电脑上运行Android Studio 2.2已经有一段时间了,但是自己的笔记本上还是用的Android Studio 1.5,今天晚上下了一个Android Studio 2.

错误描述

在公司电脑上运行Android Studio 2.2已经有一段时间了,但是自己的笔记本上还是用的Android Studio 1.5,今天晚上下了一个Android Studio 2.2压缩包,解压后启动Android Studio 2.2就报错了,错误如下所示:

Unsupported Java Version : Cannot start under Java 1.7.0_04-b22 : Java 1.8 or later is required.

这里写图片描述

分析错误

查看当前电脑的Java Version,如下所示:

C:\Users\Administrator>java -version
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b22)
Java HotSpot(TM) Client VM (build 23.0-b21, mixed mode, sharing)

JAVA VERSION

JAVA_HOME

如上所示,当前电脑的Java JDK版本为1.7.0_04,而Android Studio 2.2 需要Java JDK1.8 以上的版本才能启动。

解决错误

第一步:下载Java JDK1.8
去Oracle官网下载JDK 1.8,地址如下:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

这里写图片描述

这里我们下载Java SE Development Kit 8u112的Windows x86版本,因为这是笔者当前电脑可以用的JDK版本。

第二步:安装JDK1.8
安装JDK1.8在电脑上,笔者安装在E:\JAVA\JDK_Path\JKD-1.8,如下图所示:
这里写图片描述

第三步:重新配置JAVA_HOME为JDK1.8的安装路径
配置JAVA_HOME的路径为JKD1.8的安装路径E:\JAVA\JDK_Path\JKD-1.8,如下图所示:
这里写图片描述

查看Java Version是否为1.8

C:\Users\Administrator>java -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) Client VM (build 25.112-b15, mixed mode)

这里写图片描述

第四步:重新运行Android Studio 2.2 。

这里写图片描述

点击studio.exe,重新运行Android Studio 2.2 ,如下图所示:
这里写图片描述

这里写图片描述

这里写图片描述

OK,把JDK从1.7版本换到1.8版本后重新运行即正常。


作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:http://blog.csdn.net/ouyang_peng/article/details/53027992

这里写图片描述

相关文章
|
1天前
|
Java Perl
Java进阶之正则表达式
【7月更文挑战第17天】正则表达式(RegEx)是一种模式匹配工具,用于在字符串中执行搜索、替换等操作。它由普通字符和特殊元字符组成,后者定义匹配规则。
11 4
|
4天前
|
设计模式 Java
Java进阶之代理
Java进阶之代理
11 4
|
4天前
|
设计模式 Java
Java进阶之代理
Java进阶之代理
10 3
|
4天前
|
设计模式 Java
Java进阶之代理
【7月更文挑战第16天】Java动态代理通过`java.lang.reflect.Proxy`和`InvocationHandler`实现,无需编译期定义代理类。与静态代理相比,它更灵活,代码更简洁,适用于方法数量变化或未知接口代理。
8 2
|
5天前
|
SQL Java Unix
Android经典面试题之Java中获取时间戳的方式有哪些?有什么区别?
在Java中获取时间戳有多种方式,包括`System.currentTimeMillis()`(毫秒级,适用于日志和计时)、`System.nanoTime()`(纳秒级,高精度计时)、`Instant.now().toEpochMilli()`(毫秒级,ISO-8601标准)和`Instant.now().getEpochSecond()`(秒级)。`Timestamp.valueOf(LocalDateTime.now()).getTime()`适用于数据库操作。选择方法取决于精度、用途和时间起点的需求。
17 3
|
4天前
|
Java 编译器 API
Java进阶之标准注解
【7月更文挑战第15天】Java标准注解包括标记注解(如@Deprecated)、@Override(检查方法重写)、@SuppressWarnings(抑制警告)。多值注解如@RequestMapping在Spring中用于HTTP请求映射。元注解如@Retention控制注解保留策略,@Target指定应用位置。Java8引入类型注解(@FunctionalInterface、@SafeVarargs)和重复注解(@Repeatable)。自定义注解可通过反射读取,如示例中的MyMarkerAnnotation等。
10 2
|
9天前
|
Java
Java进阶之内部类
【7月更文挑战第13天】Java内部类增进代码组织与封装,允许直接访问外部类成员,包括私有成员。主要有四种类型:成员、静态、局部和匿名内部类。匿名内部类常用于一次性实现接口或扩展类。内部类可隐藏实现细节,减少命名冲突,并在特定上下文中定义辅助类。示例展示了静态和非静态内部类如何在Shape类中封装Circle和Rectangle。使用内部类能提升代码可读性,但可能增加复杂性。
22 6
|
4天前
|
Java 编译器 API
Java进阶之标准注解
Java进阶之标准注解
13 1
|
11天前
|
安全 Java
Java进阶之枚举
【7月更文挑战第11天】Java枚举是Java 5引入的特性,用于定义固定常量集合,如星期。枚举是继承自`java.lang.Enum`的特殊类,编译后成为final类,每个枚举值是静态final实例。定义枚举用`enum`关键字,如`public enum Weekday {MONDAY, TUESDAY, ...}`。枚举可包含方法和变量,能实现接口但不能继承其他类。例如,`Weekday`枚举可实现`Describe`接口,提供`describe()`方法。在实际应用中,枚举常用于表示如响应状态等固定选项,便于类型安全和代码阅读。
24 8
|
7天前
|
IDE Java 测试技术
Java进阶之反射
【7月更文挑战第14天】Java反射机制允许在运行时动态获取类信息、创建对象及调用其方法。它基于`Class`类,让我们能访问类的属性、方法、构造器。例如,通过`Class.forName()`加载类,`Class.newInstance()`创建对象,`Method.invoke()`执行方法。反射广泛应用于动态代理、单元测试、序列化及框架中,提供灵活性但牺牲了性能,且可破坏封装性。IDE的代码补全也是反射的应用之一。在使用时需谨慎,避免对私有成员的不当访问。
16 1