18

在 Android Studio 说 api24 构建需要它之后,我最近安装了 jdk 1.8 u92。但是,我现在遇到了这个问题。

我查看了其他一些解决方案并卸载了 jdk 1.7,为 JDK_HOME、JAVA_HOME 和 JAVA8_HOME 添加了环境变量。问题仍然存在。

每次我尝试构建应用程序时,gradle sync 都会失败,Android studio 会要求我选择一个有效的 JDK 目录。然后我转到Project Structure => JDK Location并将其更新到 1.8 文件夹。尝试再次构建会出现同样的错误,当我检查项目结构时,路径会自动设置回旧的 JDK 1.7。

这个问题有什么解决办法吗?

4

6 回答 6

32

在查看了 Android Studio 设置目录中的一些文件后想通了。

如果您一直在升级 Android Studio 并从以前的安装中导入设置,则可能会发生这种情况(全新安装也可能会发生)。

解决方案:

  1. 转到您的 Android Studio 配置文件夹所在的任何位置(通常位于 $HOME/.AndroidStudio2.1/confg)。
  2. 打开Options文件夹并删除文件jdk.table.xml(保留备份以防万一)
  3. 重启 Android Studio

这为我解决了这个问题。新创建的 jdk.table.xml 将更新 java8 值(它很可能从 JDK_HOME 环境变量中获取)。

于 2016-06-28T04:39:44.963 回答
2
  1. 关闭安卓工作室

  2. 去 :

C:\Users\WINDOW_USER_NAME\AndroidStudio2.1\config\options

打开 jdk.table.xml

  1. 全部替换为您的 JDK 版本,在我的情况下全部替换为:

    C:/程序文件/Java/jdk1.8.0_101

  2. 重新打开安卓工作室

  3. 同步

于 2017-01-08T09:45:50.487 回答
0

删除 xml 文件后您想要做的不是在执行此操作之前关闭 android studio。因为当android再次启动时,它会检查它的推荐设置并说“哦,这个用户可能已经删除了jdk的表,但他仍然默认选择了1.7。”

不,当您删除表格文件时,请保持工作室打开。然后选择 1.8,这样它将参考设置保存回表中。您可能也不必重新启动,因为表 xml 文件不是当前正在运行的文件,因为它位于自己的用户配置文件文件夹中而不是程序文件中。

于 2016-09-29T00:39:28.210 回答
0

请按照以下步骤操作:(这些步骤适用于 Windows;如果是其他操作系统,请访问相同的目录)

步骤1:按“Win + R”,输入“%userprofile%”,然后按回车。

第 2 步:转到 Android Studio 文件夹,该文件夹将采用以下格式 - “.AndroidStudio2.2”(版本可能会有所不同)

第 3 步:转到“config\options”文件夹。

第 4 步:在桌面复制一份jdk.table.xml并删除jdk.table.xml。(在 android studio 仍在运行时执行此操作)

第5步:在android Studio中-转到“文件->项目结构”并选择正确的jdk路径。

如果第 4 步和第 5 步不能解决问题,请按照以下步骤操作:

第 4 步:在记事本中打开jdk.table.xml

步骤 5':查找所有单词,包括 jdk 版本 - 例如。找到“1.8.0_45”

步骤6':替换找到的单词;使用您当前的 jdk 版本。例如。将“1.8.0_45”更改为“1.8.0_111”(确保替换所有包含版本号的字段)

步骤 7':保存jdk.table.xml文件

第 8 步:重启安卓工作室。

这肯定会解决问题。

PS:要安装JDK并设置路径。

于 2016-12-22T18:19:06.910 回答
0

1)将此添加到您的应用程序 build.gradle (在 android 元素内)

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

我从https://stackoverflow.com/a/51032051/326242复制了这个。归功于发布该内容的人(https://stackoverflow.com/users/2910520/matpag),但该问题的任何地方均未发布正确答案。

于 2019-07-09T02:04:12.433 回答
0

只有这个答案对我有用: https ://stackoverflow.com/a/34199964/1034622

android SDK 和 JDK 文件夹都不能包含空格。

于 2017-11-07T22:18:06.547 回答