Android N requires the IDE to be running with Java

2020-01-24 19:55发布

问题:

My XML layout is not rendering with this error message. I am already using Java 8.

Also using latest build tools in Gradle.

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

XML Error -

回答1:

I got the same error you describe but on OS X. I know this may not solve your problem (because I don't know the equivalent for Windows), but since this is not OS specific I am leaving the solution for any OS X fellow out there. Edit the file /Applications/Android\ Studio.app/Contents/Info.plist, and remove the 1.6 version (in my case), you may place 1.6+, 1.7+ or 1.8, whichever you prefer. Mine ended up like this

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

Be aware there's an incompatibility with drag and drop with java versions 1.8_60 to 1.8_75 (IDEA-146691) which the IDE will report once you successfully change the version.

For non Terminal Users

  1. Find your Android Studio.app file. If it's in the dock you can right click it and choose Options > Show in Finder.
  2. Right click it and choose Show package content.
  3. Navigate to the mentioned file (Contents/Info.plist).
  4. Edit the file with your favorite text editor.


回答2:

Click on the letter N, next to the android icon in the Preview window and select API level 23 or lower. That should solve it.



回答3:

Set JDK_HOME and JAVA_HOME environment variables, in my case C:\Program Files\Java\jdk1.8.0_60.

Check Java version in Help > About. It should show the JRE version you just set.

That is it, now you can preview your layout in N.



回答4:

For Mac users with this issue (I'm running OS X 10.11.5 and Android Studio 2.1.2), here's how you can solve it:

Currently, the Mac version of Android Studio is run with Java 6 (not necessarily the same as the JDK version for the app), because Java 6 has better font rendering than Java 7 & 8, and that's apparently more important than rendering your layout.

First of all, make sure you have JDK 8 installed.

Then run the following commands:

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

You may need to change the 91 in jdk1.8.0_91.jdk to a different version. You can see which JDK versions you have with:

$ ls /Library/Java/JavaVirtualMachines/

Unfortunately, this method requires opening the app from the terminal, but you could always create a script for it.

More info

Edit: And if you really don't want to open it from the terminal:

  1. Create an AppleScript with contents: do shell script "export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk; open /Applications/Android\\ Studio.app/"
  2. File > Save Choose file format Application. Save it somewhere.
  3. If you want to change the icon, see here.
  4. Drag the app to your launchpad if you like.


回答5:

I met the same issue.

I installed jdk1.6,jdk1.7,jdk1.8, and deployed Studio as what you did.

My solution is uninstall jdk1.6 and jdk1.7, only leave jdk1.8

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

That's all.



回答6:

I'm using Ubuntu 14.04 and I was facing a similar error, with the difference I don't have NDK. My solution was, after setting up Java 8 in project definition, reboot Android Studio, no more.

Check system Java version, in console "java -version", output should say something like this

java version "1.8.0_91"


回答7:

Had the same problem with Ubunutu. The problem was not running the IDE with Java8.

I fixed it with updating the default java program of the OS, using:

sudo update-alternatives --config java

And choosing the relevant Java8 path.



回答8:

I faced the problem "Android N requires the IDE to be running with Java 1.8 or later." The error kept showing up in spite of setting C:\Program Files\Java\jdk1.8.0_92 as the project's JDK in File > Project Structure.

I solved it by updating JAVA_HOME in my environment variables from C:\Program Files\Java\jdk1.7.0_67 to C:\Program Files\Java\jdk1.8.0_92. When I did that and restarted Android Studio, the design mode became available.

OS: Windows 10

Android Studio: 2.1.2



回答9:

I have solved it in these way.(AS+MAC OX El Capitan)

  1. Updating SDK Tools>Android SDK platform tools
  2. Go to Help>Edit Custom Properties> A dialog will prompt(press yes) then write

    JVMVersion=1.8 
    

Then close Android Studio fully and reload the project



回答10:

From the docs: https://developer.android.com/studio/intro/studio-config.html#file_location

STUDIO_JDK: set the JDK with which to run Studio

I prefer using the STUDIO_JDK variable and leave other default java home variables alone.



回答11:

My issue was that the Android N was "partially installed".

My solution was to go to - Preferences/Appearances and Behavior/System Settings/Android SDK and check the Status. If it's "partially installed" then you have to uninstall then reinstall. (Uncheck the checkbox and hit apply; it will uninstall; then you can check the box and install it again) Worked for me. If you go to lower version(like 23) then you have to change the buildToolsVersion variable to "23.0.0" in the build.gradle.



回答12:

I was facing the same problem recently. Try changing the API preview level to 23 or lower. That worked for me.



回答13:

I had faced the same problem. Please make sure that you are rendering the XML layout for the compiled SDK version (Must not be greater) . Means you will face this if you are compiling the code using Targeted SDK version 23 and your trying to render the XML in SDK version 24.



回答14:

There are several thing to remember when set the STUDIO_JDK on Mac OS:

  • by default Apple's Java 1.6 is used to start the Android Studio
  • when the STUDIO_JDK is set to Oracle's Java it will be used by the Android Studio to run

The difference between two is that Apple's Java IMO provides nicer and better fonts antialiasing in the IDE.

A reply here is referencing a bug in Android Studio regarding the fonts antialiasing. The ticket is already closed but still rendering is different for Apple Java and Oracle SDK (I have v1.8.0_102). And the former still has better perception than the last.



回答15:

machine: windows8 64bit in my case the jdk1.7 I had installed was 32bit hence I was using studio.exe (32bit) so even when I downloaded the new jdk1.8 (64bit) the studio instance I was using (32bit) couldn't detect it, but when I uninstalled the older jdk and tried to rerun studio.exe I was told to install a 32bit jdk. so I ran studio64.exe and it ran smoothly. ensure you have the correct path in your environment variables. cheers android N



回答16:

Make sure you have installed jdk for x64 and not x84 when starting Android Studio (x64)