Android N requires the IDE to be running with Java 1.8 or later

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android N requires the IDE to be running with Java 1.8 or later相关的知识,希望对你有一定的参考价值。

android Studio需要两个JDK: ide jdk和project jdk:

前者是IDE本身运行使用的JDK.

后者用于编译Java代码

Project JDK

  • 可以通过file-> other settings-> default project structure 里面查看修改

  • 如果项目 compileSdkVersion >= 21, 应该设置为Java7 or 8

  • 这个配置也可以在 local.properties 里面设置

 

IDE JDK

  • 在MAC OSX 运行IDE的时候系统会根据Android Studio.app/Contents/Info.plist中JVMVersion的配置帮你自动选择JDK。

技术分享

问题在于 Android N 版本的Layout编辑器需要IDE jdk1.8以及以上版本才能正常显示

 

需要注意的是不要修改info.plish,这会破坏IDE签名 会影响补丁更新。

mac可以使用这样的方式打开

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

能够正常使用Android N 版本的Layout编辑器 但是问题又来了

在Mac系统上, 默认的ide jdk 是1.6. 这主要是因为字体在jdk1.6上有抗锯齿效果,而1.7和1.8没有。
 
使用jkd1.8:
 
 
使用jkd1.6:
 

而且还有一些其他问题 我就不赘述了

总而言之 如果你像我一样 使用mac osx 使用2.1.2的android studio 先别尝鲜了,降低一下Layout编辑器的版本吧。

技术分享

 

 如果你非要研究一下 去这里看看吧 传送门(需FQ)

以上是关于Android N requires the IDE to be running with Java 1.8 or later的主要内容,如果未能解决你的问题,请参考以下文章

Power Apps The user with object id in environment misses required privilege(s): ‘prvShareCanvasApp‘

Power Apps The user with object id in environment misses required privilege(s): ‘prvShareCanvasApp‘

The request you have made requires authentication. (HTTP 401) (Request-ID: req-f94bebba-f0c5-4a92-85

nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/n

m1版Mac运行Flutter项目报错:Kotlin could not find the required JDK tools in the Java ...

m1版Mac运行Flutter项目报错:Kotlin could not find the required JDK tools in the Java ...