Sé que esto es una entrada antigua, pero quiero escribir mi solución personal para el problema:
al cambiar el nombre del directorio C: \ android-sdk \ tools en C: \ android-sdk \ temp \ ToolPackage.old01.
Obviamente, he tenido el mismo problema y cada vez que las herramientas de Android necesitan ser actualizadas, es una pesadilla.
Ninguna de las soluciones que he encontrado buscando en Google la red funcionó para mí hasta ahora, pero este es un trabajo vital para mantener actualizado el SDK de Android. Entonces comencé a encontrar una forma alternativa de resolver este problema y finalmente lo encontré ... al menos ... me funciona, incluso si es un poco complicado.
El problema básico es que el archivo por lotes android.bat viene de la carpeta ~ \ tools \ y todavía está en la memoria (ejecutándose) mientras que la misma carpeta ~ \ tools \ necesita ser actualizada (en nuestro caso, renombrado).
El problema es que el android.bat corre java para lanzar swt.jar (la herramienta SDK), y sigue siendo inútil esperar a la finalización de este programa java.
Puede editar el android.bat y ver la llamada en la última fila de este lote:
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 %*
El problema es el comando "llamada" CMD. Espera la finalización del programa externo llamado.
Pero hay otra manera de ejecutar programas externos desde un archivo por lotes: el comando "start". Lanza un programa externo y finaliza.
Así que acaba de reemplazar el comando "llamada" a "Inicio", de manera que después del cambio de la última fila de mi androide.bate fue:
start "" "%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 %*
Nota: Mantenga el "" en el medio de inicio y la ruta de la aplicación. Puede agregar texto en esos guiones y este texto será el título de la ventana de comandos de java.exe que verá después de los cambios. En mi caso, dejé la leyenda como una cadena vacía pero puedes escribir allí lo que quieras.
Después de los cambios, puede iniciar el SDK y android.bat ya no estará esperando, dejando la herramienta SDK libre para jugar (y cambie el nombre de la carpeta ~ \ tools \ sin dolores de cabeza).
Obviamente, después de actualizar las herramientas de SDK, tiene que volver a hacer los mismos cambios en el nuevo archivo de proceso por lotes android.bat. Esto podría ser un poco incómodo, pero solo tendrá que acordarse de realizar los cambios antes de ejecutar la herramienta SDK y no tendrá más problemas mientras actualiza Android.
¿Cómo extrañé eso? Gracias, lo intentaré en un minuto. – zmbq
De nada. – SERPRO
¡Excelente! Esto funcionó! El equipo de Android me sigue impresionando, pero no hay nada que pueda hacer al respecto. – zmbq