I was building my test app in Android Studio, then in the Event Log it said:
Android Studio is using this JDK location: C:\Program Files\Android\Android Studio\jre which is different to what Gradle uses by default: C:\Program Files (x86)\Java\jdk1.8.0_181 Using different locations may spawn multiple Gradle daemons if Gradle tasks are run from command line while using Android Studio.
Then gave these options:
- More info...
- Set Android Studio to use the same JDK as Gradle and sync
- Do not show this warning again
I clicked on:
Set Android Studio to use the same JDK as Gradle and sync
then my app didn't want to build any more.
This is the error:
Gradle sync failed: Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.For example, an unrecognized jvm option is used.
Please refer to the User Manual chapter on the daemon at https://docs.gradle.org/5.4.1/userguide/gradle_daemon.htmlProcess command line: C:\Program Files (x86)\Java\jdk1.8.0_181\bin\java.exe -Xmx1536m -Dfile.encoding=windows-1252 -Duser.country=ZA -Duser.language=en -Duser.variant -cp C:\Users\{MyUserName}\.gradle\wrapper\dists\gradle-5.4.1-all\3221gyojl5jsh0helicew7rwx\gradle-5.4.1\lib\gradle-launcher-5.4.1.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 5.4.1
Please read the following process output to find out more:
Error occurred during initialization of VM Could not reserve enough space for 1572864KB object heap Consult IDE log for more details (Help | Show Log) (16 s 166 ms)
I checked the event logs:
I think previously it did this:
Instructing gradle to use java from C:/Program Files/Android/Android Studio/jre
Now it says this:
Instructing gradle to use java from C:/Program Files (x86)/Java/jdk1.8.0_181
How do I set it back to the way it was so my app can build again?
Any help / advice will be appreciated
To set the HTTP proxy settings in Android Studio: From the menu bar, click File > Settings (on macOS, click Android Studio > Preferences). In the left pane, click Appearance & Behavior > System Settings > HTTP Proxy. The HTTP Proxy page appears.
A copy of the latest OpenJDK comes bundled with Android Studio 2.2 and higher, and this is the JDK version we recommend you use for your Android projects.
Go to File, Project Structure, SDK location and change the JDK location dropdown to JAVA_HOME.
You need to change/add an environment variable.
Follow this link to know how to change/add environment variables.
Now add/modify the variable 'JAVA_HOME' and set the path to C:\Program Files\Android\Android Studio\jre
Note: When you are going to work on a different Java project later on in a different IDE, you might have to change this variable again to the default Java location (in this case perhaps C:/Program Files (x86)/Java/jdk1.8.0_181
)
That's how I got rid of the warning:
1) locate the AS launcher script studio.sh
on your machine, mine is under: /opt/android-studio-3.x/bin
2) inside the script, you'll find the following lines:
# ---------------------------------------------------------------------
# Locate a JDK installation directory which will be used to run the IDE.
# Try (in order): STUDIO_JDK, studio.jdk, ./jre64, JDK_HOME, JAVA_HOME, "java" in PATH.
# ---------------------------------------------------------------------
if [ -n "$STUDIO_JDK" -a -x "$STUDIO_JDK/bin/java" ]; then
JDK="$STUDIO_JDK"
fi
if [ -z "$JDK" -a -s "$HOME/.AndroidStudio3.6/config/studio.jdk" ]; then
USER_JRE=`"$CAT" $HOME/.AndroidStudio3.6/config/studio.jdk`
...
3) if, for some reason, you're unable to export your environment variables to the launcher (like it happens to me from the xfce4 session), you can write the desired JAVA_HOME
value inside the studio.jdk
file whose location on my system, as per the script, is in $HOME/.AndroidStudio3.6/config/studio.jdk
.
$ echo $JAVA_HOME > $HOME/.AndroidStudio3.6/config/studio.jdk
$ cat $HOME/.AndroidStudio3.6/config/studio.jdk
/usr/lib/jvm/java-8-oracle
4) lastly, by restarting AS from the DE session, you should see the JAVA_HOME
under the File -> Project Structure -> SDK Location window set to the above value and both AS and gradle should use the same JRE:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With