no encontrar el sdk de android (Unity)

82

Error:

Invalid command android
UnityEditor.HostView:OnGUI()

CommandInvokationFailure:

Unable to list target platforms. Please make sure the android sdk path is correct. See the Console for more details. 
C:/Program Files/Java/jdk1.8.0_121\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="C:/Users/great/AppData/Local/Android/Sdk\tools" -Dfile.encoding=UTF8 -jar "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" -

stderr[
Error:Invalid command android
]
stdout[

]
exit code: 64
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandInternal (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandSafe (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.HostView:OnGUI()

Error al construir Player:

CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct. See the Console for more details. 
C:/Program Files/Java/jdk1.8.0_121\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="C:/Users/great/AppData/Local/Android/Sdk\tools" -Dfile.encoding=UTF8 -jar "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" -

stderr[
Error:Invalid command android
]
stdout[

]
exit code: 64

Captura de pantalla:

captura de pantalla

Salman Khan
fuente
1
Pruebe esto y vea si eso ayuda ...
Programador
No tuve ningún problema para trabajar con unity 2017.0.2f y sdk 25.2.5 hasta que instalé Unity 2017.0.3f y de repente nada funcionó.
Alex Jolig
Un año después, sigue siendo un problema. Lo extraño es que el error dice: "CommandInvokationFailure: No se pueden enumerar las plataformas de destino. Asegúrese de que la ruta del sdk de Android sea correcta. C: / Users / Francois / AppData / Local / Android / Sdk \ tools \ bin \ avdmanager.bat list target -c "Si ejecuto ese comando exacto, obtengo una lista de plataformas de destino. Entonces, al lado de \ vs / mess en la ruta, el comando funciona.
FMaz008

Respuestas:

196

Yo tengo el mismo problema.

Lo arreglé con la versión de la herramienta sdk de android downgrade.

Los pasos.

  1. Elimina la carpeta "herramientas" del SDK de Android: [La raíz de tu SDK de Android] / herramientas -> herramientas

  2. Descargar las herramientas del SDK: http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip

  3. Extrae eso a la raíz del SDK de Android

  4. Construye tu proyecto

Choi Yonggui
fuente
Esta corrección produce otro error: Error: [Temp \ StagingArea \ AndroidManifest-main.xml: 12, C: \ Users \ Admin \ Documents \ Google VR \ Temp \ StagingArea \ android-libraries \ gvr-permissionsupport-release \ AndroidManifest.xml : 3] El manifiesto principal tiene <uses-sdk android: minSdkVersion = '16 '> pero la biblioteca usa minSdkVersion = '19'
Ajq
También es necesario asegurarse de establecer el nivel mínimo de API en el mismo nivel que el SDK. Esto se hace en Configuración de reproducción -> Otras configuraciones. En mi caso, tuve que configurarlo en 19 ya que estaba configurado en 16.
Ajq
20
para MacOS:cd $ANDROID_HOME; rm -rf tools; wget http://dl-ssl.google.com/android/repository/tools_r25.2.5-macosx.zip; unzip tools_r25.2.5-macosx.zip
electronix384128
¿Cómo puedo solucionarlo para Mac? El comando de terminal no me funciona.
Mago Nicolas Palacios
4
Seguí teniendo problemas después de esto. Aparentemente, JDK 1.9.0 todavía tiene problemas. La instalación de 1.8.0 funcionó para mí. Mi combinación que me funciona: Unity 2017.2.0f3 Android SDK 26 Android SDK Tools 25.2.5 JDK 1.8.0_151
justinl
34

El problema se debe a la incompatibilidad de la unidad con las últimas herramientas de compilación de Android. Para MacOS, aquí hay una línea que lo hará funcionar para usted:

cd $ANDROID_HOME; rm -rf tools; wget http://dl-ssl.google.com/android/repository/tools_r25.2.5-ma‌​cosx.zip; unzip tools_r25.2.5-macosx.zip
electronix384128
fuente
mirrors.neusoft.edu.cn/android/repository/… Este enlace funcionó para mí
Noor Ali Butt
Curiosamente, no pude ir a ese enlace con wget (estaba obteniendo un 404), pero cuando lo abrí en un navegador, comenzó una descarga como esperaba.
livingtech
1
@livingtech desafortunadamente eso es porque cuando lo copias de SO, tiene un espacio en la URL.
electronix384128
1
Sonido perfecto, ¡pero primero debes instalar homebrew y wget! De otra manera, descargue el archivo zip y descomprímalo manualmente.
BSQ
si no tiene wget, puede usarcd $ANDROID_HOME; rm -rf tools; curl http://dl-ssl.google.com/android/repository/tools_r25.2.5-ma‌​cosx.zip > tools_r25.2.5-ma‌​cosx.zip; unzip tools_r25.2.5-macosx.zip
Kirk Boyer
13

1- Simplemente abra https://developer.android.com/studio/index.html

2- desplácese hacia abajo hasta el final de esa página

3- descargue la última versión de herramientas para su sistema operativo (por ejemplo tools_r25.2.3-windows.zip)

4- Descomprímelo

5- Eliminar herramientas de carpeta de la carpeta Sdk de Android anterior

6- Copie las herramientas de la nueva carpeta a la carpeta SDK de Android como esta imagen:

ingrese la descripción de la imagen aquí

Ayub
fuente
He intentado descargarlo y seguir tus pasos, ¡pero sigo teniendo el problema!
Mago Nicolas Palacios
6

Unity 5.6.1 / 2017.1 corrige el problema de compatibilidad de Android SDK Tools 25.3.1+. Esto se indica en el rastreador de errores de Unity en el número 888859 y sus notas de la versión 5.6.1 .

jkasten
fuente
8
Unity 2017.2 lo vuelve a romper.
Paul Du Bois
1
Utilizo 2017.3.1 y tengo este problema.
FMaz008
Estoy usando 2018.2.1 pero sigo teniendo el mismo problema
6

Estos son los pasos que finalmente funcionaron para mí ...

  • Instale JDK jdk1.8.0_131 (sí, esta versión específica, no una versión posterior) y configúrelo como JDK Path en Unity.

  • Eliminar la carpeta de herramientas sdk de Android: [android_sdk_root] / tools

  • Descargue SDK Tools v25.2.5 (esta versión específica) desde http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip

  • Extraiga la carpeta de herramientas en ese archivo a la raíz del SDK de Android

  • Construye tu proyecto

Greg Quinn
fuente
No se trata de Install JDK jdk1.8.0_131 (versión específica), funcionó para mí con jdk1.8.0_151. El problema es sobre las herramientas del repositorio, como usted escribió (solo esa).
Olivier Pons
6

Para usuarios de Mac OS:

Ve a tu carpeta Android SDK y borra la carpeta de herramientas (te recomiendo hacer una copia antes de borrarla, en caso de que esta solución no te resuelva el problema)

Luego descargue la carpeta de herramientas aquí:

http://dl-ssl.google.com/android/repository/tools_r25.2.5-macosx.zip

Puede encontrar la versión zip de todas las herramientas aquí:

https://androidsdkoffline.blogspot.fr/p/android-sdk-build-tools.html

Luego descomprime el archivo de descarga y colócalo en la carpeta sdk de Android.

Espero eso ayude

fandro
fuente
5

Solución más sencilla: configure la variable de entorno USE_SDK_WRAPPER = 1, o hack tools / android.bat para agregar la línea "set USE_SDK_WRAPPER = 1". Esto evita que android.bat muestre un mensaje "y / n", que es lo que confunde a Unity.

Paul Du Bois
fuente
1
@ paul-du-bois Tuvo el mismo problema en este momento con las versiones 2018.1xy 2018.2x de unity, y agregar la línea contenedora en el archivo predeterminado "android.bat" resolvió el problema. ¡Gracias!
asethi
5
  1. Elimina la carpeta "herramientas" del SDK de Android: [La raíz de tu SDK de Android] / herramientas -> herramientas

  2. Descargar las herramientas del SDK: http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip

  3. Extrae eso a la raíz del SDK de Android

  4. Construye tu proyecto

Después de eso, todavía no funcionó para mí, tuve que

  1. Vaya a los archivos de Java ( http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html )

  2. Busque la versión jdk-8u131.

  3. Acepte el Acuerdo de licencia, cree una cuenta y descargue la versión.

  4. Instálelo y defínalo como ruta JDK en Unity.

fuente: https://www.reddit.com/r/Unity3D/comments/77azfb/i_cant_get_unity_to_build_run_my_game/

Garvit Jain
fuente
1
gracias, me salvaste: o 12/04/2018 y esto todavía no funciona
sliders_alpha
2

Resolví el problema desinstalando JDK 9.

DmitryKanunnikoff
fuente
En realidad, esto es muy relevante; por alguna razón, Unity está detectando el JDK más reciente, por lo que incluso configurar la ruta correcta no funciona; los JDK más nuevos, más allá del 8, deben desinstalarse.
Evan Knowles
Para mí funcionó agregando JAVA_HOME y ANDROID_HOME a las variables del sistema mientras usaba las últimas herramientas de compilación de JDK y Android. set ANDROID_HOME = C: \ ubicación de instalación \ android-sdk set PATH =% PATH%;% ANDROID_HOME% \ tools;% ANDROID_HOME% \ platform-tools
asethi
0

Usuarios de Linux:

cp -r Android AndroidUnity
cd AndroidUnity/Sdk
rm -rf tools
wget http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip
unzip tools_r25.2.5-windows.zip

En Unity, las preferencias cambian a esta carpeta sdk recién creada.

vishalknishad
fuente
0

En mi caso, estaba intentando compilar y obtener APK para un antiguo proyecto de Unity 3D (para poder jugar el juego en mi teléfono Android). Estaba usando la versión más reciente de Android Studio y todos los paquetes de SDK que pude descargar a través de SDK Manager en Android Studio. Los paquetes SDK estaban ubicados en

C: / Users / Onat / AppData / Local / Android / Sdk Y el mensaje de error que recibí fue el mismo, excepto la versión "jdk-12.0.2" de JDK (Java Development Kit). JDK estaba ubicado en

C: \ Archivos de programa \ Java \ jdk-12.0.2 Y la variable de entorno en Windows era JAVA_HOME: C: \ Archivos de programa \ Java \ jdk-12.0.2

Después de 3 horas de investigación, descubrí que Unity no es compatible con JDK 10. Como se dice en https://forum.unity.com/threads/gradle-build-failed-error-could-not-determine-java-version- desde-10-0-1.532169 / . Mi sugerencia es:

1.Desinstale el JDK no deseado si ya tiene uno instalado. https://www.java.com/tr/download/help/uninstall_java.xml

2. Dirígete a http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

3.Inicie sesión o abra una cuenta de Oracle si aún no ha iniciado sesión.

4.Descargue el JDK 8 más antiguo pero funcional para la configuración de su computadora (32 bits / 64 bits, Windows / Linux, etc.)

5.Instale el JDK. Recuerde la ruta de instalación. ( https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/ )

6.Si está utilizando Windows, abra las variables de entorno y cambie la ruta de Java a través de clic derecho en Mi PC / Esta PC> Propiedades> Configuración avanzada del sistema> Variables de entorno> Nuevo> Nombre de la variable: JAVA_HOME> Valor de la variable: [SU ruta JDK, la mía fue "C: \ Archivos de programa \ Java \ jdk1.8.0_221"]

7. En Unity 3D, presione Editar> Preferencias> Herramientas externas y complete la ruta JDK (la mía era "C: \ Archivos de programa \ Java \ jdk1.8.0_221").

Además, en la misma ventana emergente, edite la Ruta del SDK. (Consígalo en Android Studio> SDK Manager> Android SDK> Ubicación del SDK de Android).

9. Si es necesario, reinicie su computadora para que los cambios surtan efecto.

Onat Korucu
fuente