How to set Java SDK path in AndroidStudio? - android-studio

I had Java 1.7.0_21 installed and I installed 1.7.0_45 today after uninstalling the previous version. Now Android Studio has stopped compiling projects and says that it cant locate the 1.7.0_21 folder. How can I set the new path for Java SDK? I have changed the environment variables also but didn't work.

Up to Android Studio 4.2
Go to File > Project Structure > SDK Location. The third field is "JDK Location" where you can set it. This will set it for the current project.
To set the default for new projects, go to File > Other Settings > Default Project Structure > SDK Location and set the "JDK Location".
Android Studio Arctic Fox (2020.3.1)
In the Canary 14 of Android Studio Arctic Fox (2020.3.1), the JDK Location setting is moved to:
Settings > Build, Execution, Deployment > Build Tools > Gradle > Gradle JDK
Older Versions
Go to File > Project Structure > [Platform Settings] > SDKs. You'll need to either update you current SDK configuration to use the new directory, or define a new one and then change your project's settings to use the new one. This will set it for the current project.
To set the default for new projects, go to File > Other Settings > Structure for New Projects > [Platform Settings] > SDKs and set the SDK to use when creating a new project.

Go to File> Project Structure (or press Ctrl+Alt+Shift+S),
A popup will open now go to SDK Location Tab you will find JDK Location there refer this image to be more clear.

I tried updating all of my SDKs by just going into the Project Structure > Platform Settings > SDKs and changing the Java SDK, but that didn't work, so I had to recreate the configurations from scratch.
Here's how to create your SDKs with the latest Java:
In Project Structure > Platform Settings > SDKs, click the "+" button to add a new SDK.
In the pop-up, go into your Android SDK folder and click "Choose"
Another pop-up will appear asking for which SDK and JDK you want to use. Choose any Android SDK and the 1.7 JDK.
Go to Project Structure > Project Settings > Project and change your Project SDK to the one you just created. You should see the name of the SDK contain the new Java version that you installed.

C:\Program Files\Android\Android Studio\jre\bin>java -version
openjdk version "1.8.0_76-release"
OpenJDK Runtime Environment (build 1.8.0_76-release-b03)
OpenJDK 64-Bit Server VM (build 25.76-b03, mixed mode)
Somehow the Studio installer would install another version under:
C:\Program Files\Android\Android Studio\jre\jre\bin>java -version
openjdk version "1.8.0_76-release"
OpenJDK Runtime Environment (build 1.8.0_76-release-b03)
OpenJDK 64-Bit Server VM (build 25.76-b03, mixed mode)
where the latest version was installed the Java DevKit installer in:
C:\Program Files\Java\jre1.8.0_121\bin>java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
Need to clean up the Android Studio so it would use the proper latest 1.8.0 versions.
According to How to set Java SDK path in AndroidStudio?
one could override with a specific JDK but when I renamed
C:\Program Files\Android\Android Studio\jre\jre\
to:
C:\Program Files\Android\Android Studio\jre\oldjre\
And restarted Android Studio, it would complain that the jre was invalid.
When I tried to aecify an JDK to pick the one in C:\Program Files\Java\jre1.8.0_121\bin
or:
C:\Program Files\Java\jre1.8.0_121\
It said that these folders are invalid. So I guess that the embedded version must have some special purpose.

This problem arises due to incompatible JDK version.
Download and install latest JDK(currently its 8) from java official site in case you are using previous versions. Then in Android Studio go to File->Project Structure->SDK location -> JDK location and set it to 'C:\Program Files\Java\jdk1.8.0_121' (Default location of JDK). Gradle sync your project and you are all set...

And now this is located in Gradle settings:

1) File >>> Project Structure OR press Ctrl+Alt+Shift+S
2) In SDK Location Tab you will find SDK Location:
3) Change your Project SDK location to the one you have installed
4) Sync your project

If you are using new android studio 2021+ then you can find or update JDK settings by navigating to
File > Settings... > Build, Execution, Deployment > Build Tools >
Gradle
on windows
Android Studio > Preferences... > Build, Execution, Deployment > Build
Tools > Gradle
on Mac

Go to File>Project Structure>JDK location:
Here, you have to set the directory path exactly same, in which you have installed the java version.
Also, you have to mention the paths of SDK for project run on emulator successfully.
Why This Problem Occurs: It is due to the unsynchronized java version directory that should be available to Android Studio for java code compilance.

Click "use embedded JDK" on version Android Studio 3.2.1

Related

In Android Studio How Can I Set Gradle JDK Version for all Projects

I'm using Android Studio Dolphin version 11.0.13+ I upgraded recently from an older version. The older version used a Gradle JDK Version of 1.8 and now it uses 11.
To set the Gradle JDK Version to version 11 on every new project I create, I do the following:
'''
File >> Project Structure >> SDK Location
Click the link in the sentence JDK location was moved to Gradle Settings. Then, in the new pop-up screen, select desired version in Gradle JDK dropdown.
Is there a way to set the ```Gradle JDK Version`` in Android Studio so it is automatically set when I create a new project, so I don't have to do it every time?
I have other software that uses JDK and not sure if removing 1.8 will affect them. I need to look into them.
Thanks for any help,

Save Gradle JDK in AndroidStudio BumbleBee between runs

In AndroidStudio BumbleBee, there does not appear to be a way to configure the Gradle JDK that persists between full builds of the target app. Our app requires JDK 8 and Gradle requires JDK 11...
A problem occurred evaluating project ':app'.
> Failed to apply plugin 'com.android.internal.application'.
> Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
You can try some of the following options:
- changing the IDE settings.
- changing the JAVA_HOME environment variable.
- changing `org.gradle.java.home` in `gradle.properties`.
We develop our Cordova webapp (JS/CSS) on Mac for desktop first and then port to mobile. We do full builds, not incrementals.
Changing org.gradle.java.home does not work and might be too late as the JDK is already launched to run Gradle and parse org.gradle.java.home.
Changing JAVA_HOME sets the JDK for both our app and Gradle... and all other projects that use Java.
Chaning the IDE settings can be done manually... each full Cordova 11 build and launch of AndroidStudio. Here is how we have to set the Gradle JDK in AndroidStudio preferences... every time we launch Android Studio. Looking for a way to set the Gradle JDK in the IDE that will be honored between runs...
The dropdown includes the embedded JDK 11 that comes with AndroidStudio. This needs to be selected for the Gradle JDK to successfully build our app. Here is the dropdown...
Tried starting AndroidStudio from the commandline, where env variables can be set just for the launched process...
$ JAVA_HOME="/Applications/Android Studio.app/Contents/jre/Contents/Home" open "/Applications/Android Studio.app"
If there are no options in BumbleBee, are there plans for such support in later releases of Android Studio.

Is JDK 8 really important for Android Studio?

I recently installed Android Studio 2.3.3 on my Mac, but I forgot to install JDK 8 before setting up Android Studio. I am already halfway through the development process of my App, so know I don't want to uninstall Android Studio, then install JDK 8 and again reinstall Android Studio, so should I uninstall Android Studio for JDK 8, is it really that important?
First thing, JDK is important in Android Studio to compile your .java files. As you said you are half way through your development process ,there is a JVM in your machine(not necessarily JDK-8).
Android by default installs a JVM in your computer.
Open a project in Android studio,
Goto File -> Project Structure -> SDK location
There you can see, default JDK location, if there is no such thing then,
1.install JDK-8, and Set the Environmental variables.
2.Set the jdk path in the JDK location in the android studio.

Grade version 2.6 required. Current version is 2.4

I am trying to use the experimental plugin to build NDK via Android Studio.
I have checked my "Open Module Settings->Project->Gradle version" and confirmed it is 2.6
gradle-wrapper.properties contains:
distributionUrl=https\://services.gradle.org/distributions/gradle-2.6-all.zip
android.project\build.gradle contains:
classpath "com.android.tools.build:gradle-experimental:0.3.0-alpha7"
My C:\Program Files\Android\Android Studio\gradle folder contains all gradle versions from gradle-2.4 thru gradle-2.8
Why does Android Studio continue to think that Gradle 2.4 is installed/in use?
Have you checked the preference page Build, Execution, Deployment > Build Tools > Gradle? Perhaps Use local gradle distribution is checked with an old Gradle version specified in the Gradle Home: field.

Can't find Java 7 in Android Studio

Android Studio says that I have to download Java 7. I dowloaded it and installed it but Android Studio can't locate it. How do I make Android Studio aware of my Java install?
Find JDK Installation Directory
First you need to know the installation path for the Java Development Kit.
Open the default installation path for the Java Development Kit
C:\Program Files\Java
There should be a subdirectory like
C:\Program Files\Java\jdk1.7.0_10
Adding Path to Android Studio
Open your AS and go to File->Project Structure
Then paste the directory path where it says "JDK location"

Resources