@echo off | |
rem Copyright (C) 2007 The Android Open Source Project | |
rem | |
rem Licensed under the Apache License, Version 2.0 (the "License"); | |
rem you may not use this file except in compliance with the License. | |
rem You may obtain a copy of the License at | |
rem | |
rem http://www.apache.org/licenses/LICENSE-2.0 | |
rem | |
rem Unless required by applicable law or agreed to in writing, software | |
rem distributed under the License is distributed on an "AS IS" BASIS, | |
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
rem See the License for the specific language governing permissions and | |
rem limitations under the License. | |
rem This script is called by the other batch files to find a suitable Java.exe | |
rem to use. The script changes the "java_exe" env variable. The variable | |
rem is left unset if Java.exe was not found. | |
rem Useful links: | |
rem Command-line reference: | |
rem http://technet.microsoft.com/en-us/library/bb490890.aspx | |
rem Check we have a valid Java.exe in the path. The return code will | |
rem be 0 if the command worked or 9009 if the exec failed (program not found). | |
rem Java itself will return 1 if the argument is not understood. | |
set java_exe=java | |
%java_exe% -version 2>nul | |
if ERRORLEVEL 1 goto SearchForJava | |
goto :EOF | |
rem --------------- | |
:SearchForJava | |
rem We get here if the default %java_exe% was not found in the path. | |
rem Search for an alternative in %ProgramFiles%\Java\*\bin\java.exe | |
echo. | |
echo Java not found in your path. | |
echo Checking it it's installed in %ProgramFiles%\Java instead. | |
echo. | |
set java_exe= | |
for /D %%a in ( "%ProgramFiles%\Java\*" ) do call :TestJavaDir "%%a" | |
if defined java_exe goto :EOF | |
echo. | |
echo No suitable Java found. In order to properly use the Android Developer Tools, | |
echo you need a suitable version of Java installed on your system. We recommend | |
echo that you install the JDK version of JavaSE, available here: | |
echo http://java.sun.com/javase/downloads/ | |
echo. | |
echo You can find the complete Android SDK requirements here: | |
echo http://developer.android.com/sdk/requirements.html | |
echo. | |
goto :EOF | |
rem --------------- | |
:TestJavaDir | |
rem This is a "subrountine" for the for /D above. It tests the short version | |
rem of the %1 path (i.e. the path with only short names and no spaces). | |
rem However we use the full version without quotes (e.g. %~1) for pretty print. | |
if defined java_exe goto :EOF | |
set full_path=%~1\bin\java.exe | |
set short_path=%~s1\bin\java.exe | |
rem [for debugging] echo Testing %full_path% | |
%short_path% -version 2>nul | |
if ERRORLEVEL 1 goto :EOF | |
set java_exe=%short_path% | |
echo. | |
echo Java was found at %full_path%. | |
echo Please consider adding it to your path: | |
echo - Under Windows XP, open Control Panel / System / Advanced / Environment Variables | |
echo - Under Windows Vista, open Control Panel / System / Advanced System Settings | |
echo / Environment Variables | |
echo At the end of the "Path" entry in "User variables", add the following: | |
echo ;%full_path% | |
echo. |