2013-08-29 34 views
1

在我的android sdk管理器更新到最新版本後,我的SDK管理器不工作,sdk manager.exe在更新之前正確運行。現在,當我運行命令LIGNE的android.bat我得到這個消息,(我有Win7操作系統):如何在更新後運行SDK管理器

'C:\Program' n'est pas reconnu en tant que commande interne 
ou externe, un programme exécutable ou un fichier de commandes. 
Chemin d'accès non valide 
ERROR: SWT folder '' does not exist. 
Please set ANDROID_SWT to point to the folder containing swt.jar for your platform. 

我試圖改變我的android.bat但總是有同樣的問題: 這是我的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  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 Useful links: 
rem Command-line reference: 
rem http://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 
rem set java_exe=C:\Program Files\Java\jre7\bin\java.exe 
set jar_path=lib\sdkmanager.jar;lib\swtmenubar.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 

:MkTempCopy 
    rem Copy android.bat and its required libs to a temp dir. 
    rem This avoids locking the tool dir in case the user is trying to update it. 

    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\common.jar   %tmp_dir%\lib\  > nul 
    copy /B /D /Y lib\commons-codec*  %tmp_dir%\lib\  > nul 
    copy /B /D /Y lib\commons-compress* %tmp_dir%\lib\  > nul 
    copy /B /D /Y lib\commons-logging* %tmp_dir%\lib\  > nul 
    copy /B /D /Y lib\dvlib.jar   %tmp_dir%\lib\  > nul 
    copy /B /D /Y lib\guava*    %tmp_dir%\lib\  > nul 
    copy /B /D /Y lib\httpclient*  %tmp_dir%\lib\  > nul 
    copy /B /D /Y lib\httpcore*   %tmp_dir%\lib\  > nul 
    copy /B /D /Y lib\httpmime*   %tmp_dir%\lib\  > nul 
    copy /B /D /Y lib\layoutlib-api.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\swtmenubar.jar  %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. 
REM set REMOTE_DEBUG=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 
call %java_exe% %REMOTE_DEBUG% -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 

回答

0

我正確設置我的Java路徑和CLASSPATH環境變量:

JAVA_HOME C:\Program Files\Java\jdk1.7.0_25 

,我加入這一行:

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

此行我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 

的SDK的manager.exe現在可以正常運行:d!

0

你的SDK安裝已損壞, 最好的選擇是去除SDK並重新安裝,以避免遇到其他錯誤和misbehaviours的可能性。

如果不能解決問題,確保正確設置環境變量

例如

JAVA_HOME java的路徑和classpath C:\ Program Files文件\的Java \ jdk1.7.0 _25

Read this help

+0

我仍然有同樣的問題!你可以給我一個其他的解決方案! – Nomade

+0

我已經更新我的答案 – Silverstorm

+0

您好我正確設置我的Java路徑,並添加此行: 集java_exe = C:\ WINDOWS \ SYSTEM32 \ JAVA.EXE 此行我android.bat後: REM檢查我們在路徑中有一個有效的Java.exe。 設置java_exe = 調用lib \ find_java.bat 如果未定義java_exe轉到:EOF SDK Manager.exe現在可以正常運行:D! 非常感謝Silverstorm:D – Nomade

1

設置JAVA_HOME C:\Program Files\Java\jdk1.7.0_25像Silverstorm說我

IntelliJ IDEA的CE 13,Win 7的64

0

請打開find_java.bat文件夾中的工作 「\ SDK \工具\ LIB」,在第27行,檢查有:

find /i "x86" > NUL && set arch_ext=32 || set arch_ext=64 

刪除 「arch_ext = 32」 和 「||」 之間的空白,如 「arch_ext = 32 ||」,重新打開cmd,然後所有的工具將正常工作。

看起來谷歌沒有檢查這個在x86上