android SDK问题 - 没有找到java/swt - windows 7 x64

问题描述:

嘿,我一直在尝试至少2个星期才能让SDK管理器在我的电脑上运行,它在一开始就运行一次,然后再也不会再运行。我玩了一下,设置了我的环境变量。对整个概念相当陌生,我感到茫然。android SDK问题 - 没有找到java/swt - windows 7 x64

,我将提供沿侧一般位置android.batfind_java.bat文件到我的Java,SDK和JDK


我运行Windows 7 X64的,我也都JRE的(32和64)以及32位JDK,64位SDK不会让我运行任何东西,但删除它,并使用32位一个解决了一个问题,但没有真正做任何事情。


android.bat是如下的文件

@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  ://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 Useful links: 
rem Command-line reference: 
rem ://technet.microsoft.com/en-us/library/bb490890.aspx 

rem don't modify the caller's environment 
setlocal 

rem Set up prog to be the path of this script, including following symlinks, 
rem and set up progdir to be the fully-qualified pathname of its directory. 
set prog=%~f0 

rem Grab current directory before we change it 
set work_dir="%cd%" 

rem Change current directory and drive to where the script is, to avoid 
rem issues with directories containing whitespaces. 
cd /d %~dp0 


rem Check we have a valid Java.exe in the path. 
set java_exe= 
call lib\find_java.bat 
if not defined java_exe goto :EOF 

set jar_path=lib\sdkmanager.jar 

rem Set SWT.Jar path based on current architecture (x86 or x86_64) 
for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a 

if "%1 %2"=="update sdk" goto StartUi 
if not "%1"=="" goto EndTempCopy 
:StartUi 
echo [INFO] Starting Android SDK and AVD Manager 

rem We're now going to create a temp dir to hold all the Jar files needed 
rem to run the android tool, copy them in the temp dir and finally execute 
rem from that path. We do this only when the launcher is run without 
rem arguments, to display the SDK Updater UI. This allows the updater to 
rem update the tools directory where the updater itself is located. 

set tmp_dir=%TEMP%\temp-android-tool 
xcopy %swt_path% %tmp_dir%\%swt_path% /I /E /C /G /R /Y /Q > nul 
copy /B /D /Y lib\androidprefs.jar %tmp_dir%\lib\  > nul 
copy /B /D /Y lib\org.eclipse.*  %tmp_dir%\lib\  > nul 
copy /B /D /Y lib\sdk*    %tmp_dir%\lib\  > nul 
copy /B /D /Y lib\common.jar   %tmp_dir%\lib\  > nul 
copy /B /D /Y lib\commons-compress* %tmp_dir%\lib\  > nul 

rem jar_path and swt_path are relative to PWD so we don't need to adjust them, just change dirs. 
set tools_dir=%cd% 
cd /d %tmp_dir% 

:EndTempCopy 

rem The global ANDROID_SWT always override the SWT.Jar path 
if defined ANDROID_SWT set swt_path=%ANDROID_SWT% 

if exist %swt_path% goto SetPath 
    echo ERROR: SWT folder '%swt_path%' does not exist. 
    echo Please set ANDROID_SWT to point to the folder containing swt.jar for your platform. 
    goto :EOF 

:SetPath 
rem Finally exec the java program and end here. 
call %java_exe% -Dcom.android.sdkmanager.toolsdir="%tools_dir%" -Dcom.android.sdkmanager.workdir=%work_dir% -classpath "%jar_path%;%swt_path%\swt.jar" com.android.sdkmanager.Main %* 

rem EOF 

地点如下 - >

Android SDK r10    : C:\android-sdk-windows 
Java JDK 32 6 u_24 1.6.0_24 : C:\Program Files (x86)\Java\jdk1.6.0_24 
Java JRE 32 6 u_24   : C:\Program Files (x86)\Java\jre6 
Java JRE 64 6 u_24   : C:\Program Files\Java\jre6 

Find_java.bat如下

@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 htp://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(x86)%\Java\bin\java.exe 

echo. 
echo WARNING: Java not found in your path. 

rem Check if there's a 64-bit version of Java in %ProgramW6432% 
if not defined ProgramW6432 goto :Check32 
echo Checking if it's installed in %ProgramW6432%\Java instead (64-bit). 

set java_exe= 
for /D %%a in ("%ProgramW6432%\Java\*") do call :TestJavaDir "%%a" 
if defined java_exe goto :EOF 

rem Check for the "default" 32-bit version 
:Check32 
echo Checking if it's installed in %ProgramFiles(x86)%\Java instead. 

set java_exe= 
for /D %%a in ("%ProgramFiles(X86)%\Java\*") do call :TestJavaDir "%%a" 
if defined java_exe goto :EOF 

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 
echo. 
echo You can find the complete Android SDK requirements here: 
echo 
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 

%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 or Windows 7, open Control Panel/System/Advanced System Settings/Environment Variables 
echo At the end of the "Path" entry in "User variables", add the following: 
echo ;%full_path% 
echo. 

Find_java.bat不会找到我的JDK,我已经试过不止一两件事,设置环境路径以及改变根据一些修正,我发现在网上搜索,尤其是这里的.bat文件。

android.bat文件,将不会找到Java和.swt文件,因此不会加载。
任何人都可以帮助我启动Android SDK吗?

+0

一些链接我删除了由于某些东西声誉,我还没有让我把多个链接 – Chaoticandroid 2011-03-21 11:53:57

几天前,我还在使用win7 x64上的Java版本时遇到了一些问题。
我的解决方案是删除所有java版本,只安装x64 JDK。 如果你想要,也是JRE,但是当我混淆了两者之后,我开始出现一些问题。

甲骨文网站仍然告诉我,我没有安装Java,但eclipse和android SDK正常工作。

只使用JUnit我不断收到错误。

的最好的解决这个问题是:

的名称设置ENV_VARIABLES:ANDROID_SWT路径到Windows 64位路径值即android_sdk_directory_path/toolss/lib中/ x86_64的\

否则

为系统安装32位JDK,然后安装Android SDK工具

我遇到了同样的问题,我在我的环境路径中添加了所有需要的目录,但android.bat不起作用!现在

rem Check we have a valid Java.exe in the path. 
set java_exe= 
call lib\find_java.bat 
if not defined java_exe goto :EOF 

android.batSDK Manager.exe运行正常:

我加入这一行:

set java_exe=C:\Windows\System32\java.exe 

此线后,我android.bat d!