Android N是否要求IDE可以与Java 1.8或更高版本一起运行?


117

XML此错误消息未呈现我的布局。我已经在使用Java 8。

在此处输入图片说明

还使用Gradle中的最新构建工具。

android {
    compileSdkVersion 'android-N'
    buildToolsVersion 24.0.0 rc1
    ...
}

XML错误-

在此处输入图片说明


2
Android Studio存在各种各样的渲染问题。我建议您提供一个最小的可复制示例。在这种情况下,这将包括布局文件和特定错误。
CommonsWare

@CommonsWare我更新了XML错误图像。安装受支持的JDK会将我重定向到设置已经执行的步骤。
mjosh

1
我不得不更改为buildToolsVersion '24 .0.0 rc1',该文档缺少引号。
Phyrum Tea'3

@PhyrumTea不会使错误消失。
mjosh

1
最终,当我尝试构建并运行该项目时,它失败了Directory cannot have its readable permission cleared for everybody。显然,这是一个已知的错误,Google正在对此进行处理。
mjosh

Answers:


187

我在OS X上遇到了与您描述的相同的错误。我知道这可能无法解决您的问题(因为我不知道Windows的等效语言),但是由于这不是特定于OS的,因此我将为所有OS X伙伴提供解决方案在那里。编辑该文件/Applications/Android\ Studio.app/Contents/Info.plist,然后删除1.6版本(以我为例),您可以放置​​1.6 +,1.7 +或1.8(以您喜欢的任何一个为准)。我的就这样结束了

...
<key>JVMVersion</key>
<string>1.7+</string>
...

请注意,Java版本1.8_60至1.8_75(IDEA-146691)的拖放功能不兼容,一旦成功更改版本,IDE就会报告该兼容性

对于非终端用户

  1. 查找您的Android Studio.app文件。如果它在扩展坞中,则可以右键单击它并选择Options > Show in Finder
  2. 右键单击并选择Show package content
  3. 导航到提到的文件(Contents/Info.plist)。
  4. 使用您喜欢的文本编辑器编辑文件。

11
这将更改运行Android Studio的虚拟机。在我的OSX中,原始值为:<key> JVMVersion </ key> <string> 1.6 *,1.7 +,1.8 </ string>,新值是:<key> JVMVersion </ key> <string> 1.8 </字符串>
santhyago

8
有用!感谢您的解决方案。问题是:为什么Google希望他的开发者在这个问题上浪费时间?
Kotik_o

3
感谢您解决Google缺乏文档的方法:)。我不知道为什么这里没有此指令:developer.android.com/intl/pt-br/preview/setup-sdk.html#java8(这是android studio上显示的链接)。
Totalys '16

7
很棒!!可悲的是,在更新Android Studio(我刚刚将其更新为最新版本)时,它会重置Info.plist文件,因此我不得不再次重复上述步骤来更改我的JVMVersion: <key>JVMVersion</key> <string>1.8</string>如此烦人的Android Studio!
Micro

3
Android Studio 2.2使用<string> 1.8 *,1.8 + </ string>。
jmnwong

147

单击“预览”窗口中android图标旁边的字母N,然后选择API级别23或更低。那应该解决。

rpeview窗口中的第一行图标


25
但我想的N预览不是在API 23
mjosh

3
我在Mac上遇到了相同的问题。将API级别从24降低到23对我有用。
萨尔曼

3
不是答案,请按照标记为正确答案的答案进行操作
Pavneet_Singh

这不是答案。这只是忽略问题环境。
enadun '16

做得很好。是的,它解决了我的问题。谢谢。:)
arango_86

63

就我而言,集合JDK_HOMEJAVA_HOME环境变量C:\Program Files\Java\jdk1.8.0_60

在此处输入图片说明

在中检查Java版本Help > About。它应该显示您刚刚设置的JRE版本。

在此处输入图片说明

就是这样,现在您可以在中预览布局N


1
我按照您的意思做了,但是当我提供帮助时->关于它仍然指向我的旧jdk。这是为什么?
The_Martian '16

1
我有JRE:1.8(约)。但是我无法构建针对v24的应用。> compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.
Zapnologica

1
@The_Martian,您需要重新启动计算机。
2013年

1
在Mac OS上,我删除了旧的jdk版本。之后,Android Studio选择最新版本
lopez.mikhael16年

1
实际上,@ lopez.mikhael最终是唯一对我有用的东西。我更改了可能找到的所有设置,并按照我的预期配置了所有内容,并不断收到错误消息。最后,我将较旧的jdk目录移动到了JavaVirtualMachine文件夹中名为old_jdks的子目录中。现在一切都很好。
zgc7009

27

对于有此问题的Mac用户(我正在运行OS X 10.11.5和Android Studio 2.1.2),以下是解决方法:

当前,Mac版的Android Studio可以与Java 6一起运行(不一定与该应用程序的JDK版本相同),因为Java 6的字体呈现比Java 7和8更好,而且显然比呈现布局更重要。

首先,请确保已安装JDK 8

然后运行以下命令:

$ export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk
$ open /Applications/Android\ Studio.app/

您可能需要将91in 更改jdk1.8.0_91.jdk为其他版本。您可以查看所使用的JDK版本:

$ ls /Library/Java/JavaVirtualMachines/

不幸的是,此方法需要从终端打开应用程序,但是您始终可以为其创建脚本。

更多信息

编辑:如果您真的不想从终端打开它:

  1. 创建包含内容的AppleScript: do shell script "export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk; open /Applications/Android\\ Studio.app/"
  2. 文件>保存选择文件格式应用程序。将其保存在某处。
  3. 如果要更改图标,请参见此处。
  4. 如果愿意,将应用程序拖到启动板。

当我尝试运行脚本时,我得到:error "sh: /usr/local/bin/studio: No such file or directory" number 127可以解决该问题的任何方法吗?当我从终端运行它时,它运行非常正常
Daniele

@Daniele抱歉,我忘了为此创建了另一个Shell脚本。AppleScript应该具有与上面相同的命令。看到我更新的答案。
2013年

5

我遇到了同样的问题。

我安装了jdk1.6,jdk1.7,jdk1.8,并像您一样部署了Studio。

我的解决方案是卸载jdk1.6和jdk1.7,只保留jdk1.8

sudo rm -rf ${path to jdk1.6}
sudo rm -rf ${path to jdk1.7}

就这样。


这样安全吗
Micro

@MicroR如果您其他软件不依赖于jdk1.6和jdk1.7,我认为这是安全的。
youngwind '16

此解决方案为我解决了这个问题。卸载的这种方式是安全的,是一个由Oracle(推荐docs.oracle.com/javase/8/docs/technotes/guides/install/...
Showpath

2

我正在使用Ubuntu 14.04,但遇到了类似的错误,区别是我没有NDK。我的解决方案是,在项目定义中设置Java 8之后,再重新启动Android Studio。

检查系统Java版本,在控制台“ java -version”中,输出应显示如下内容

java version "1.8.0_91"

我已经设置了JAVA_HOME =“ / Library / Java / JavaVirtualMachines / jdk1.8.0_91.jdk / Contents / Home” STUDIO_SDK是否也应为“ /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home”?
mythicalcoder

@Maven理论上可以设置STUDIO_SDK变量,该变量将是运行Android Studio的SDK路径(如Studio的配置参数tools.android.com/tech-docs/configuration中所述)。但是,就我而言,我没有设置该变量,并且IDE正在按预期运行。
塞尔吉奥·古兹曼

你是对的。我尝试了不同的事情。确实是1.8无法正确链接的问题。这解决了它stackoverflow.com/a/35935433/2369867。谢谢。
mythicalcoder

2

Ubunutu也有同样的问题。问题不在于使用Java8运行IDE。

我通过使用以下命令更新了操作系统的默认Java程序来修复该问题:

sudo update-alternatives --config java

并选择相关的Java8路径。


1

我遇到了“ Android N要求IDE必须与Java 1.8或更高版本一起运行”的问题。尽管在C:\Program Files\Java\jdk1.8.0_92中将其设置为项目的JDK,该错误仍然显示File > Project Structure

我从我的环境变量更新JAVA_HOME解决它C:\Program Files\Java\jdk1.7.0_67C:\Program Files\Java\jdk1.8.0_92。当我这样做并重新启动Android Studio时,就可以使用设计模式。

操作系统:Windows 10

Android Studio:2.1.2


1

我已经用这种方式解决了。(AS + MAC OX El Capitan)

  1. 更新SDK工具> Android SDK平台工具
  2. 转到“帮助”>“编辑自定义属性”>对话框将提示(按“是”),然后输入

    JVMVersion=1.8 

然后完全关闭Android Studio并重新加载项目



0

我的问题是Android N已“部分安装”。

我的解决方法是转到“偏好设置/外观和行为/系统设置/ Android SDK”,然后检查“状态”。如果它是“部分安装”,则必须先卸载再重新安装。(取消选中该复选框,然后单击Apply;它将被卸载;然后您可以选中该复选框并再次安装)。如果您使用较低版本(如23),则必须在build.gradle中将buildToolsVersion变量更改为“ 23.0.0”。


1
重新安装后,我的仍然说“部分安装”。
安德鲁(Andrew)

重新安装后,我也“部分安装”了。@Andrew之后您找到任何解决方案了吗?
mythicalcoder

@Maven对我来说,我的问题是尝试构建应用程序时,我没有选择正确的构建版本。
安德鲁(Andrew)

0

我最近面临着同样的问题。尝试将API预览级别更改为23或更低。那对我有用。


0

我曾经遇到过同样的问题。请确保为渲染的SDK版本呈现XML布局(不得大于)。意味着如果您使用Targeted SDK版本23编译代码,并尝试在SDK版本24中呈现XML,则会遇到此问题。


0

在Mac OS上设置STUDIO_JDK时,要记住几件事:

  • 默认情况下,Apple的Java 1.6用于启动Android Studio
  • 当STUDIO_JDK设置为Oracle的Java时,Android Studio将使用它运行

两者之间的区别在于,Apple的Java IMO在IDE中提供了更好,更好的字体抗锯齿功能。

此处的回复是指Android Studio中有关字体抗锯齿的错误。该票证已经关闭,但是对于Apple Java和Oracle SDK(我有v1.8.0_102),渲染仍然有所不同。而且前者的感知度仍比后者好。


0

尝试在Java 1.8项目中使用-下载最新版本的JDK并安装它(如果不存在JSK)

然后将以下行添加到build.gradle android {... //仅为使用Java 8语言功能的每个模块(通过其源代码或通过依赖项进行配置)进行配置。compileOptions {sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8} //对于Kotlin项目kotlinOptions {jvmTarget =“ 1.8”}}


-1

机器:Windows8 64bit(我的情况)我安装的jdk1.7是32bit,因此我使用的是studio.exe(32bit),因此即使下载新的jdk1.8(64bit),我正在使用的Studio实例(32bit)也无法无法检测到它,但是当我卸载较旧的jdk并尝试重新运行studio.exe时,被告知要安装32位的jdk。所以我运行studio64.exe,它运行平稳。确保环境变量中的路径正确。欢呼Android N


-1

启动Android Studio(x64)时,请确保已为x64安装了jdk,而不是x84。

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.