Android Device Monitor not found JDK Path - java

I'm using Arch Linux with Gnome.
I open Android Studio by the desktop item. The code editor works fine, the device manager starts correctly and the app run like a charm, but when I try to open the Device Monitor, I get this error:
A Java Runtime Environment (JRE) or Java Development Kit (JDK)
must be available in order to run Monitor. No Java virtual machine
was found after searching the following locations:
/home/grams/Android/Sdk/tools/lib/monitor-x86_64/jre/bin/java
java in your current PATH
When i run the android studion from command line, the Device Monitor works.
Here is the .desktop content
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=/home/grams/android-studio/bin/studio.png
Name[en_US]=Android Studio
Exec=/home/grams/android-studio/bin/studio.sh
Comment[en_US]=Android Studio IDE
Name=Android Studio
Comment=Android Studio IDE
Icon=/home/grams/android-studio/bin/studio.png
My JRE and JDK variables are being added on /etc/profile.
When i run Android Studio on the command line, this error not occurs. Maybe it is a problem with Gnome launcher ?

Newest Android Studio Bundle comes with its own JRE (under <ANDROID_STUDIO>/jre and this is the recommended JRE to work with (look at File / Project Structure / SDK Location).
Likewise, a simple option is to create a symbolic link under the monitor tools to keep JRE in line with Android Studio even getting an update.
For MAC or Linux:
#ln -s <ANDROID_STUDIO>/jre <SDK>/tools/lib/monitor-x86_64/jre
32 bits:
#ln -s <ANDROID_STUDIO>/jre <SDK>/tools/lib/monitor-x86/jre
Then the ddms monitor works for both ways: from Studio IDE (Tools / Android / ADM) or command line (<SDK>tools/./monitor)

Define your environment variables in the initialization file for your login shell: most likely .profile or .bash_profile, depending on your setup. Something like:
export JAVA_HOME="/usr/lib/jdk1.8.0_05"
export PATH=$PATH:$JAVA_HOME
Read more at: where should i manually install JDK8? and JDK installation on Archlinux

Please add the location of the folder containing javaw.exe to the System PATH Environment Variable:
e.g PATH = "C:\Program Files\Java\jdk1.8.0_112\bin"

Make Sure that the variables deceleration naming convention is according to the rules, and the Android Studio is searching by the names, that are predefined.
As in Windows, the Variable that contains JDK path should named: JAVA_HOME
Explore the rules.

Related

VSCode says I don't have Java 11 or later even after installing jdk13, setting up java.configuration.runtimes, java.home and JAVA_HOME and path

I installed the default java extensions, downloaded jdk-13.0.2 windows installer, updated the path and JAVA_HOME in the environment variables. After searching for answers, I added the settings in VSCode for java.configuration.runtimes and java.home. After all that, when I try to run my java file in VSCode, it gives me the message "Java 11 or more recent is required to run the Java extension. Please download and install a recent JDK... Source: Debugger for Java (Extension)". I'm not sure what I'm missing or what I did wrong. I attached a screenshot of the VSCode settings.
Screenshot of VSCode settings
If you didn't add java to Environment Path, java.exe couldn't be recognized and used except under the java installation directory, and that's why the java extension think you didn't install the required JDK.
Add JAVA to PATH. You can refer to PATH IN The Java™ Tutorials
Press Ctrl+Shift+` in VS Code to open the integrated Terminal,
then run java --version to check if it's the right one;
Install Java Extension Pack in VS Code Extension Marketplace, which includes necessary extensions you need during development.
It seems restarting my computer took care of it. I verified that java was working outside of VS Code but VS Code wasn't wanting to work with java. No changes were made but when I reopened the project it works.

java jre jdk setup using android bundled jre

There are many similar questions but mine is different so please read an entire question before nailing down the new.
Bundled JAVA jdk is automatically installed with Android Studio version 4.0.1. Everything I type java -version on my CMD then I get following message
C:\Users\OceanicBlue>java -version
'java' is not recognized as an internal or external command,
This is because JAVA_HOME is not setup so I tried following inside Environment Variables->System Variables in Windows 10 Machine but no luck. The problem is persistent.
JAVA_HOME -> C:\Program Files\Android\Android Studio\jre\
JAVA_HOME -> C:\Program Files\Android\Android Studio\jre\bin
JAVA_HOME -> C:\Program Files\Android\Android Studio\jre\jre\bin
JAVA_HOME -> %JAVA_HOME%\bin
Can I use Android's bundled JDK for JAVA_HOME? If not then which version should I download. Oracle forces you to register to use their JDK11. I refuse to give them my personal information to use something free. Also I don't want unnecessary extra versions of JAVA installed on my machine. Eventually they will cause problems.
What exactly am I trying to do? I am trying to compile Java programs using Command line. Android installed JDK for me so why not use it? No I am not able to compile a java project using the terminal screen inside Android Studio.
This is because JAVA_HOME is not setup
That's not what's happening. JAVA_HOME is not voodoo magic, the windows shell does not have some sort of built in knowledge. Commands entered are executed by scanning every entry in the PATH environment variable for java.exe, java.com, or java.bat. None are available. If you really want the java.exe found in C:\Program Files\Android\Android Studio\jre\bin to be used when you type 'java' on the command line (which will not magically make javac work at all, which is why I doubt this is actually want), then add that directory to the PATH variable. JAVA_HOME is mostly useless; a select few dated tools look at it sometimes and fail if it is not there; more modern tools may still look at it but also scan other places, such as the path or windows registry.
Furthermore, that's.. clearly not a bundled JDK, that's a bundled JRE, which can't be used for compiling. It does hava java.exe, but you can't use that to compile things. By nature of being a JRE, it is also obsolete/outdated (JREs are no longer part of how java is distributed; java8 is the last version with a JRE).
Note that javac in general is relatively useless when dealing with android; android does not run class files.
I am using Android Studio 4.1.1
What exactly am I trying to do? I am trying to compile Java programs using Command line. Android installed JDK for me so why not use it?
First of all, it is just the bundled JRE. Its is not JDK.
But, I was able to compile and run my test.java by adding two new entries in my environment variables.
C:\Program Files\Android\Android Studio\jre\jre\bin
C:\Program Files\Android\Android Studio\jre\bin
NB: I have never installed JDK before. I just used the JRE binaries present in jre/bin/ present within Android Studio folder
See the attached image.
I think you should recheck your environment variable or else try to get Android Studio latest release.

Cordova android run/build Error - Requirements check failed for JDK 1.8

I have built my cordova app and getting "Requirements check failed for JDK 1.8" error message.
Uninstalling all java and installing jdk 1.8 not solved my problem.
D:\xampp\htdocs\aware>cordova run android
Android Studio project detected
ANDROID_HOME=C:\Users\Baha\AppData\Local\Android\Sdk
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_221
Requirements check failed for JDK 1.8
ScreenShots:
You might have installed more than one Java (binaries) on your system. First of all, check this, by executing where java command in your cmd.exe (command line).
Most likely, you will see more than one java.exe installed, and if so, this may be the reason, despite installing new Java, your system still provides one more other version of it;
Even if you have set your %JAVA_HOME% environment variable accordingly, there might be another java.exe available in your environment, either because of having some other Java binaries' bin folder added in the System variables' (under Environment Variables) Path variable, or because of having it at some other place, which is also available through any other environment variable (for instance: System32 on Windows).
Check where java and see your Path environment variable under the System Variables.
My problem solved partially, I have changed the path and try to build with vs code, it works, but phpstorm still not build my app.

How to run Android Studio with specified JDK, but without changing JAVA_HOME environment variable? [duplicate]

I'm having issues trying to boot-up Android Studio
When I try to launch it after installation I'm getting this error:
No JVM Installation found. Please install a 64 bit JDK.
My current system specification:
Operating System: Windows 8.0 64 bit version
JDK installed: JDK 1.8.0
What I have tried:
I have tried what was reported in the error, and also in most of the solutions to set the JDK_HOME variable in environment variables to my JDK path (64 bit version) i.e. C:\Program Files\Java\jdk1.8.0_05
*I also have tried rebooting system, just in case to test if the environment variable is not working without a restart
I have seen these solutions and tried but none of them works, so don't mark it as a duplicate of any of these:
Android Studio installation on Windows 7 fails, no JDK found
With android studio no jvm found, JAVA_HOME has been set
Android Studio start fails on Windows 8 64bit
Android Studio does not launch after installation
Here is the cmd output for java version:
I had the same problem. I tried setting all kind of paths but nothing worked. So I had to do some dirty fix. The only problem with this is that it opens a blank command line window.
I did the following to make it work.
goto the AndroidStudio installation folder.
goto bin folder and open studio.bat in text editor
add set JAVA_HOME=C:\Program Files\Java2\jdk1.8.0//your java path after the ECHO line.
goto Start -> All Programmes -> Android Studio ->
right click on Android Studio and click on properties.
You will see the Target something like <installation path>android-studio\bin\studio64.exe
change it to <installation path>android-studio\bin\studio.bat
Now you can access it by clicking it from the menu.
Note : I tried it with 8, It works.
I reproduced your issue on my Windows 8.1 system :
Installed 64-bit JDK 1.8.0_11.
Installed latest Android Studio Bundle.
Went to Control Panel -> System -> Advanced system settings -> Environment Variables...
Added JDK_HOME pointing to my 64-bit JDK.
Launched studio64.exe
I got the same message you did. Thinking that it might be the environment variable, I did the following :
Went to Control Panel -> System -> Advanced system settings -> Environment Variables...
Changed the name of JDK_HOME to JAVA_HOME.
Launched studio64.exe
It came up successfully !
1 .Download 64 bit version of JDK from here
As shown in next picture, go to Control Panel -> System and Security -> Advanced system settings -> Environment Variables -> New (System variables)
Then add variable name: JAVA_HOME and variable value: C:\Program Files\Java\jdk1.8.0_25
Please note that jdk1.8.0_25 may be vary depending on JDK version.
Click OK button on the rest of the windows left.
1-Right click on Android Studio and click on properties.
2-Replace studio64.exe in link by studio.exe.
Ok, was having this issue as well and this is what fixed it for me. For the record I'm using Windows 8.1 and Java JDK 1.8.31, all 64-bit.
The problem is with the space between "Program" and "Files" in the path set in JAVA_HOME. I've had this problem before but didn't really realize until I was checking the instructions here for setting JAVA HOME, then it all made sense.
In a nutshell, change the JAVA_HOME path from:
C:\Program Files\Java\jdk1.8.0_31
to
C:\Progra~1\Java\jdk1.8.0_31
Make sure to set the correct JDK version number for your installation. Removing the space from the path fixed everything on my system.
As noted on the page linked above,
use C:\Progra~1\ for C:\Program Files\
and C:\Progra~2\ for C:\Program Files(x86)\
depending on where you have the JDK installed on your system.
Note: Just to be clear, before making this change my system correctly echoed the value of JAVA_HOME to be C:\Program Files\Java\jdk1.8.0_31 in the command window, leading me to believe all was well. However, attempting to run %JAVA_HOME%\bin\javac reported that the path could not be found. After removing the space from the JAVA_HOME path the same command runs perfectly.
Uninstall Java 8 and clean your JDK_HOME and your JAVA_HOME enviromental paths. Then install 64bit JAVA 6 or 7 JDK of your preference.
Make sure you set the path in the SYSTEM VARIABLES not in the USER VARIABLES also.....name the variable name as JAVA_HOME and the address as C:\Program Files\Java\jdk1.8.0_25\ be sure that you didn't place any semicolon.
According to Oracle's installation notes, you should download/install JDK for the correct system. For your convenience, I have linked to it from the sentence above. If you still encounter problems, leave a comment. I have written some quick code that will tell you if your JVM is 64 or 32-bit, below. I'd suggest you run this class and leave a comment as to its output:
public class CheckMemoryMode {
public static void main(String[] args) {
System.err.println(System.getProperty("sun.arch.data.model"));
}
}
For me this turns out to be Environment Variables not being inherited.
Quick answer: reboot, than click on studio.bat, not studio.exe or studio64.exe
================ Details =================
"Right Click"-"Run as Administrator" works for me if:
** JDK_HOME or JAVA_HOME was set. (PATH didn't need to be changed for me)
** I run studio.bat, not studio.exe
** Note: By Default I am an administrator on a Microsoft Account (That Microsoft part may be affecting things), and I seldom reboot. I'm running Win8.1 64bit. I installed both JDKv1.8.0.0_25 32bit and 64 bit, and had JRE 32bit and 64 bit already installed (used by other software).
I found there was a difference in clicking on studio.bat, studio.exe, and running studio.bat from a command prompt. There is also a difference if I rebooted or not.
The difference: The System Environment Variables aren't all there depending on how I start the program.
To test:
In start menu drag a copy of "command prompt" to your desktop, then change properties so "Start In" is location of studio.bat
copy studio.bat to studio_debug.bat (one we can mess with)
drag a shortcut of studio_debug.bat to desktop for convenience.
edit studio_debug.bat (right click --> edit)
== Change:
#echo off
== to
#echo on
echo Set===================
set
echo ======================
pause
This may also help in debugging studio.bat:
== change:
"%JAVA_EXE%" %ALL_JVM_ARGS% -cp "%CLASS_PATH%" %MAIN_CLASS_NAME% %*
== to
echo =================
echo Starting: "%JAVA_EXE%" %ALL_JVM_ARGS% -cp "%CLASS_PATH%" %MAIN_CLASS_NAME% %*
pause
"%JAVA_EXE%" %ALL_JVM_ARGS% -cp "%CLASS_PATH%" %MAIN_CLASS_NAME% %*
echo =================
Now when you run studio.bat from command prompt versus double clicking you may see difference in environment variables including JAVA_HOME and PATH. If you do you have same problem as me.
The problem seems to depend on:
did you reboot since changing environment variables?
didn't seem to matter if I was local or microsoft account
may depend whether you are an administrator or other account type
whether you start using studio.bat, studio.exe, or studio64.exe
.
FYI: The actual successful startup command executed by studio.bat on my system was as follows (includes studio64.exe):
"C:\Program Files\Java\jdk1.8.0_25\bin\java.exe" "-Xms128m" "-Xmx750m" "-XX:MaxPermSize=350m" "-XX:ReservedCodeCacheSize=96m" "-ea" "-Dsun.io.useCanonCaches=false" "-Djava.net.preferIPv4Stack=true" "-Djsse.enableSNIExtension=false" "-XX:+UseCodeCacheFlushing" "-XX:+UseConcMarkSweepGC" "-XX:SoftRefLRUPolicyMSPerMB=50" "-XX:+HeapDumpOnOutOfMemoryError" "-Didea.platform.prefix=AndroidStudio" "-Didea.paths.selector=AndroidStudioBeta" -Djb.vmOptionsFile="C:\android-studio\bin\studio64.exe.vmoptions" "-Xbootclasspath/a:C:\android-studio\bin\../lib/boot.jar" -Didea.paths.selector=AndroidStudioBeta -Didea.platform.prefix=AndroidStudio -cp "C:\android-studio\bin\..\lib\bootstrap.jar;C:\android-studio\bin\..\lib\extensions.jar;C:\android-studio\bin\..\lib\util.jar;C:\android-studio\bin\..\lib\jdom.jar;C:\android-studio\bin\..\lib\log4j.jar;C:\android-studio\bin\..\lib\trove4j.jar;C:\android-studio\bin\..\lib\jna.jar;C:\Program Files\Java\jdk1.8.0_25\lib\tools.jar" com.intellij.idea.Main
Hope that helps someone else.
Just make sure that the installed version of both, Android Studio and JDK, are of either 32-bit or 64-bit. If JDK is of 32-bit and Android Studio of 64-bit or vice-verse, then it won't work though you set up JAVA_HOME.
My fix was to remove the double quotes that I had enclosed the JAVA_HOME path in.
Instead of declaring JAVA_HOME as "C\Program Files..."
I removed the " and declared JAVA_HOME as C\Program Files...
I am on Win 7, x64
I also faced the same issue. The solution which helped me was I downloaded and installed 64 bit JDK from this link and set the "java_home" variable to the new JDK installed path like C:\Program Files\Java\jdk1.7.0_45. Hope this helps.
Had the same problem after upgrading my machine from 7 to 10 had to reinstall the JDK all overgain and took me only a few seconds.
Here are the steps I followed.
Go to this link
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Agree to oracle contact agreement.Then pick your windows version in my case is 64 bit after that its ..Next..Next,,once compete you can relaunch your Android studio without any problem. Hope this helps
Here comes the solution.
Just start ANDROID STUDIO as administrator if you are using a non administrator windows profile!
If your environment variables are correct that will do the trick. Enjoy!
Android Studio Works Perfectly fine with Java 1.8 or Java 8. I was also having invalid JVM error. The reason was including ";" (semicolon) at the end of JAVA_HOME path value. The correct format for path value is:
C:\Program Files\Java\jdk1.8.0_xx (Replace xx with your current version)
Do not include ; (semicolon) at the end of JAVA_HOME value
In my case
In Control Panel -> System -> Advanced system settings -> Environment Variables there is no JDK_HOME OR JAVA_HOME
SO
I added an entry named: JDK_HOME pointing to: C:\Program Files\Java\jdk1.8.0_25\ (you have to point this to your JDK instalation path)
And all seems to work fine now
You must just install jdk1.8.0 and then right click on my computer icon and then select properties,then in left panel, select advanced system settings, then in dialog bog select Environment Variables, then in that's dialog box,in section user variables create new variable that's name must be JAVA_HOME and path is C:\Program Files\Java\jdk1.8.0(in my pc) then sytem variable section, select PATH variable and append it's end this path C:\Program Files\Java\jdk1.8.0\bin and then select ok for all dialog box and after this steps run Android studio. And for test, run cmd in windows and run this command java -version if returned a java version and ... it is installed correctly.
Note: I get answer in windows 8.1 64 bit.
This is tested on my Windows 7 64Bit machine.
Quite strange... I had the same issue - WHILE IntelliJ Idea (including the Android Plug-in) was working perfectly.
However, here is what I did to get Android Studio 1.0 working (no step missing -> maybe it will help programming beginners).
Just set up a new environment variable by...
pressing Windows-Key and typing env... you'll see "Edit the system environment variables". Click!
Now click "Environment Variables..."
Under System variables (NOT "User variables") add a new entry named JAVA_HOME and set the value to your Java folder (like C:\Program Files\Java\jdk1.8.0_25)
apply and you are good to go.
PS: I don't know why some people writing about nuclear science when they want to explain how to set the Java path..
The solution is given in the error itself, Goto My computer(Right click)-->properties-->Advanced system settings-->Environment variables-->Create new variable.
Give the following details to it:
Variable name : JAVA_HOME.
Variable value : (your path to java jdk installation folder).
To find the path for java installation, go to program files in your window installation drive (normally C drive). Find folder named JAVA, in that navigate to JDK folder.
Copy the link address from the top, and paste it in the Variable value .
Now Press Ok and once environment variable gets created restart the android studio.
Hope it helps.
if your "enviornment variables" set well, than try to update
Start > All Programs > Android Studio > Android Studio
do right click, click Properties and set android studio sdk path
in
shortcut > Target
If you are using windows 7, make sure you install jdk-xxxx-windows-x64.exe.
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
I had previously installed 32 bit instead of 64 bit version hence it was installed in program files x(86) folder. But if you install 64 bit sdk setup, its installed in program files folder.
Then set the JAVA_HOME='C:\Program Files\Java\jdk1.8.0_65'
It should work fine.
My variables pointed to other system variables so JDK_HOME was
%programfiles%\Java\jdk1.8.0_45
and i had to explicitly change it to
C:\Program Files\Java\jdk1.8.0_45
Similar for JAVA_HOME
My JAVA_HOME was pointing to c:/jre directly. So I changed it to C:/java/jre because it was confused to pick up which one to use, so I changed it to the specific one and it works for me. Note: It is better to have only one JRE install on your machine
I solved the problem in my case by deleting file
C:\Users\username.AndroidStudioX\studio64.exe.vmoptions
( x denotes the version of your android studio so it can be different ) , because I created it before to customize VM options.
It's that simple
Add the your installation path and java path to the default system path by separating the ;
Right click on My Computer-->Properties-->Advances System Setting-->Advanced -->Environment Variables-->Under System Variables category find the "Path"-->add the android installation path and java path by separating with ;...
Believe it works
If it does not work after setting paths in environment variables correctly,
Reinstall Android Studio and it worked for me.
Under my Android Studio\bin there are two folder
studio.exe and studio64.exe
I tried to run the first program and it gives me the mentioned error.
But when running studio64.exe it works.
If setting JAVA_HOME not works, install Visual Studio C++, you can download "all versions in one" installer here: https://www.techpowerup.com/download/visual-c-redistributable-runtime-package-all-in-one/
I think Android does not support Java 8. Officially android need java 6 as mentioned at the below:
https://developer.android.com/sdk/installing/installing-adt.html
Here I'm providing you a good link, hope those will clear this question :
Is it possible to use Java 8 for Android development?
For crying out loud this is so VERY EASY TO Fix!!
Go to : "Control Panel\All Control Panel Items\System" once there click on "Advanced system settings" on the left hand side
The window that pops shows a box that says says Environment Variables! Click it.
Click "add new" to add new variable.
Type JAVA_HOME in the first box and in the second box the address to, IE / in my case C:\Program Files\Java\jdk1.8.0_25 save it. exit everything. THATS IT!!
Enjoy Android Studio!
Obviously for the above to work you have to install java first or how else can you use it or point to it on your pc and all that. The above instructions are amazingly mislead and complicated. For the record I am on widows 8.1, YES it works on latest windows and is ridiculously simple to fix.
-OSG

Error while running a program on Android Studio

Error in android while trying to start Virtual Device Manager:
Cannot launch AVD manager.
Output:
"C:\PROGRA~2\Android\ANDROI~2\sdk\tools\lib\\find_java.exe" -s' is not recognized as an internal or external command,
operable program or batch file.
ERROR: No suitable Java found. In order to properly use the Android Developer
Tools, you need a suitable version of Java JDK installed on your system.
We recommend that you install the JDK version of JavaSE, available here:
http://www.oracle.com/technetwork/java/javase/downloads
If you already have Java installed, you can define the JAVA_HOME environment
variable in Control Panel / System / Avanced System Settings to point to the
JDK folder.
You can find the complete Android SDK requirements here:
http://developer.android.com/sdk/requirements.html
I have reinstalled java jdk several times, i have also set the JAVA_HOME variable correctly.
This problem also persisted in eclipse so i installed android studio.
Exact value of JAVA_HOME : "C:\Program Files\Java\jdk1.8.0_05\".
If any further detail is needed i 'll provide it in comments.
AFAIK, AndroidStudio generally looks out for JRE stuff and Eclipse looks out for JDK stuff. This is what I've done to make both Eclipse and AS work in my system:
Set 2 Environment Variables like below and see if it works..It worked for me without issues
JAVA_HOME - C:\Program Files\Java
JDK_HOME - C:\Program Files\Java\jre7
Hope this helps...

Categories

Resources