2011-03-23 16 views
10

Esto es una continuación de la cuestión SDK manager does not find java pero el problema ahora es el SDK/android.bat no encuentra el archivo SWT.Android SDK/Android.bat no encuentra el archivo SWT.jar


Estoy utilizando Windows 7 x64, mis ubicaciones de los archivos son los siguientes:

Android SDK (zip version) - C:\android-sdk-windows 

SWT.jar (from the Zip) - C:\android-sdk-windows\tools\lib\x86 
          C:\android-sdk-windows\tools\lib\x86_64 

JDK 6 u24 x64    - C:\Program Files\Java\jdk1.6.0_24 

Mis variables de entorno son los siguientes:

ANDROID_SWT = C:\android-sdk-windows\tools\lib\x86_64 

Path  = ;C:\Program Files\Java\jdk1.6.0_24\bin 

I Estoy tratando de resolver el siguiente problema.

Al ejecutar el administrador de Android SDK, una pantalla de comando negra parpadea rápidamente y desaparece, no inicia el SDK, por lo tanto, no puedo descargar ninguna de las plataformas ni complementos.

Tenga en cuenta que tengo esos archivos ya partir de la cremallera (plataformas y ad-ons)

he rastreado el culpable en el fichero de android.bat pero parece que no puede entenderlo. Establecí la variable de entorno para el archivo SWT.jar.
No modifiqué el archivo .bat de ninguna manera hasta ahora.


La siguiente es mi bat y el error se encuentra en la parte inferior.

@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 

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 

Esto es lo que me pasa a ejecutar el archivo del palo a través de línea de comandos

C:\Users\MuniFC Portable11>C:\android-sdk-windows\tools\android.bat 
[INFO] Starting Android SDK and AVD Manager 
'xcopy' is not recognized as an internal or external command, operable program or batch file. 
No command line parameters provided, launching UI. 
See 'android --help' for operations from the command line. 
java.lang.NullPointerException 
    at com.android.sdklib.internal.avd.AvdManager.parseAvdInfo(AvdManager.java:1205) 
    at com.android.sdklib.internal.avd.AvdManager.buildAvdList(AvdManager.java:1184) 
    at com.android.sdklib.internal.avd.AvdManager.<init>(AvdManager.java:385) 
    at com.android.sdkuilib.internal.repository.UpdaterData.initSdk(UpdaterData.java:238) 
    at com.android.sdkuilib.internal.repository.UpdaterData.<init>(UpdaterData.java:114) 
    at com.android.sdkuilib.internal.repository.UpdaterWindowImpl.<init>(UpdaterWindowImpl.java:86) 
    at com.android.sdkuilib.repository.UpdaterWindow.<init>(UpdaterWindow.java:42) 
    at com.android.sdkmanager.Main.showMainWindow(Main.java:302) 
    at com.android.sdkmanager.Main.doAction(Main.java:281) 
    at com.android.sdkmanager.Main.run(Main.java:99) 
    at com.android.sdkmanager.Main.main(Main.java:88)` 

Si usted tiene alguna idea sobre cómo solucionar este problema que sería increíble!


ACTUALIZACIÓN

ha solucionado el problema xcopy añadiendo el C:\windows\system32 a mi variables Path, ahora la cuestión pendiente es la SWT

Símbolo del sistema de ejecución - Android.bat =

C:\Users\MuniFC Portable11>C:\android-sdk-windows\tools\android.bat 
[INFO] Starting Android SDK and AVD Manager 
No command line parameters provided, launching UI. 
See 'android --help' for operations from the command line. 
java.lang.NullPointerException 
     at com.android.sdklib.internal.avd.AvdManager.parseAvdInfo(AvdManager.java:1205) 
     at com.android.sdklib.internal.avd.AvdManager.buildAvdList(AvdManager.java:1184) 
     at com.android.sdklib.internal.avd.AvdManager.<init>(AvdManager.java:385) 
     at com.android.sdkuilib.internal.repository.UpdaterData.initSdk(UpdaterData.java:238) 
     at com.android.sdkuilib.internal.repository.UpdaterData.<init>(UpdaterData.java:114) 
     at com.android.sdkuilib.internal.repository.UpdaterWindowImpl.<init>(UpdaterWindowImpl.java:86) 
     at com.android.sdkuilib.repository.UpdaterWindow.<init>(UpdaterWindow.java:42) 
     at com.android.sdkmanager.Main.showMainWindow(Main.java:302) 
     at com.android.sdkmanager.Main.doAction(Main.java:281) 
     at com.android.sdkmanager.Main.run(Main.java:99) 
     at com.android.sdkmanager.Main.main(Main.java:88) 

C:\Users\MuniFC Portable11> 

Respuesta

6

Después de agregar C:\windows\system32 a PATH, el error de xcopy se ha ido, pero andro id.bat todavía tenía problemas con swt.jar. La eliminación de la variable ANDROID_SWT funcionó para mí.

+0

¡Muchas gracias! :) –

+0

Gracias, funcionó para mí también –

0

Tuve el mismo problema una vez, y borrar la carpeta avd (configuración de los dispositivos virtuales) me funciona ... deberías probarlo. Crece que el problema fue un avd corrupto que causa que el script android.bat falle al analizarlo.

3

Tengo el mismo problema contigo.

Finalmente, aclaro este problema cambiando el nombre de la carpeta sdk de java y android sin char vacía.

En Begin, Java está instalado en D:\Program Files\Java y Android SDK se instala en D:\Program Files\Android.

Cambio a D:\Java y D:\Android respectivamente, y añadir a D:\Java\jdk1.7.0_04\binPATH, y que parezca.

0

Simplemente elimine .android desde su carpeta de perfil de windows y debería funcionar, ya que funcionó para mí.

-1

OK, así que también tuve este problema en las variables de entorno, ANDROID_SWT = libx86_64, y moví tanto android como java a c: \. Tampoco modifiqué android.bat en la corrección de trabajo.

-1

Estoy ejecutando Android studio x64 en Windows 8.1 pro x64. Con JDK 8 x64 instalado.

Tuve el mismo problema al ejecutar el AVD desde Android Studio. A continuación se muestra la solución:

Editar las variables de entorno del sistema ... usando Windows Search simplemente escriba variables de entorno y se abrirá el editor. Agregue una nueva variable del sistema titulada ANDROID_SWT. Si ya está allí, no es necesario agregar otro. Establezca el "valor variable" en la ruta donde está swt.jar. He encontrado mi vía:

C: .... \ android-Studio \ SDK \ tools \ lib \ x86_64 \ swt.jar

que luego simplemente copiar y pegar ese camino en el nuevo (o existente) Valor de las variables del sistema ANDROID_SWT. Luego presioné OK para guardar la nueva variable del sistema y su nuevo valor (que es la ruta a swt.jar), cerré y volví a abrir Android Studio y ¡AVD se puso en marcha!

espero que esto ayude

-1

tenía el mismo problema al intentar abrir 'uiautomatorviewer.bat'. Para solucionarlo, agregué la variable de entorno ANDROID_SWT y también agregué la carpeta android_sdk/tools al PATH.

No logré ver el cambio hasta que haya reabierto la CMD.

-1

Esta solucionado mi problema:

abierto find_java.bat en la carpeta \sdk\tools\lib, en la línea 27.

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

eliminar el espacio en blanco entre arch_ext=32 y ||, como arch_ext=32||, vuelve a abrir el cmd y todas herramientas trabaja bien.

Cuestiones relacionadas