| @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 Query whether this system is 32-bit or 64-bit | |
| rem Note: Some users report that reg.exe is missing on their machine, so we | |
| rem check for that first, as we'd like to use it if we can. | |
| set sys_32=%SYSTEMROOT%\system32 | |
| if exist %sys_32%\reg.exe ( | |
| rem This first-pass solution returns the correct architecture even if you | |
| rem call this .bat file from a 32-bit process. | |
| rem See also: http://stackoverflow.com/a/24590583/1299302 | |
| %sys_32%\reg query "HKLM\Hardware\Description\System\CentralProcessor\0"^ | |
| | %sys_32%\find /i "x86" > NUL && set arch_ext=32|| set arch_ext=64 | |
| ) else ( | |
| rem This fallback approach is simpler, but may misreport your architecture as | |
| rem 32-bit if running from a 32-bit process. Still, it should serve to help | |
| rem our users without reg.exe, at least. | |
| if "%PROCESSOR_ARCHITECTURE%" == "x86" (set arch_ext=32) else (set arch_ext=64) | |
| ) | |
| rem Check we have a valid Java.exe in the path. The return code will | |
| rem be 0 if the command worked or 1 if the exec failed (program not found). | |
| for /f "delims=" %%a in ('"%~dps0\find_java%arch_ext%.exe" -s') do set java_exe=%%a | |
| if not defined java_exe goto :CheckFailed | |
| :SearchJavaW | |
| rem Check if we can find a javaw.exe at the same location than java.exe. | |
| rem If that doesn't work, just fall back on the java.exe we just found. | |
| for /f "delims=" %%a in ('"%~dps0\find_java%arch_ext%.exe" -s -w') do set javaw_exe=%%a | |
| if not exist "%javaw_exe%" set javaw_exe=%java_exe% | |
| goto :EOF | |
| :CheckFailed | |
| echo. | |
| echo ERROR: No suitable Java found. In order to properly use the Android Developer | |
| echo Tools, you need a suitable version of Java JDK installed on your system. | |
| echo We recommend that you install the JDK version of JavaSE, available here: | |
| echo http://www.oracle.com/technetwork/java/javase/downloads | |
| echo. | |
| echo If you already have Java installed, you can define the JAVA_HOME environment | |
| echo variable in Control Panel / System / Avanced System Settings to point to the | |
| echo JDK folder. | |
| echo. | |
| echo You can find the complete Android SDK requirements here: | |
| echo http://developer.android.com/sdk/requirements.html | |
| echo. | |
| goto :EOF |