Android SDK nicht finden (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()

Fehler beim Erstellen des Players:

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

Bildschirmfoto:

Bildschirmfoto

Salman Khan
quelle
1
Versuchen Sie dies und sehen Sie, ob das hilft ...
Programmierer
Ich hatte kein Problem mit Unity 2017.0.2f und SDK 25.2.5 zu arbeiten, bis ich Unity 2017.0.3f installiert hatte und plötzlich nichts mehr funktionierte!
Alex Jolig
Ein Jahr später immer noch ein Problem. Seltsam ist, dass der Fehler lautet: "CommandInvokationFailure: Zielplattformen können nicht aufgelistet werden. Stellen Sie sicher, dass der Android SDK-Pfad korrekt ist. C: / Users / Francois / AppData / Local / Android / Sdk \ tools \ bin \ avdmanager.bat list target -c "Wenn ich genau diesen Befehl ausführe, erhalte ich eine Liste der Zielplattformen. Neben dem \ vs / mess im Pfad funktioniert der Befehl.
FMaz008

Antworten:

196

Ich habe das gleiche Problem.

Ich habe durch Android SDK Tool Version Downgrade behoben.

Die Schritte.

  1. Löschen Sie den Ordner "tools" des Android SDK: [Ihr Android SDK-Stammverzeichnis] ​​/ tools -> tools

  2. Laden Sie die SDK-Tools herunter: http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip

  3. Extrahieren Sie das in Android SDK root

  4. Erstellen Sie Ihr Projekt

Choi Yonggui
quelle
Dieser Fix führt zu einem weiteren Fehler: Fehler: [Temp \ StagingArea \ AndroidManifest-main.xml: 12, C: \ Benutzer \ Admin \ Dokumente \ Google VR \ Temp \ StagingArea \ Android-Bibliotheken \ gvr-permissionsupport-release \ AndroidManifest.xml : 3] Das Hauptmanifest hat <used-sdk android: minSdkVersion = '16 '>, aber die Bibliothek verwendet minSdkVersion = '19'
Ajq
Stellen Sie außerdem sicher, dass die minimale API-Ebene auf dieselbe Ebene wie das SDK festgelegt ist. Dies erfolgt unter Wiedergabeeinstellungen -> Andere Einstellungen. In meinem Fall musste ich es auf 19 setzen, da es auf 16 gesetzt war.
Ajq
20
für 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
Wie kann ich es für Mac lösen? Der Terminalbefehl funktioniert bei mir nicht.
Mago Nicolas Palacios
4
Danach hatte ich immer noch Probleme. Anscheinend hat JDK 1.9.0 immer noch ein Problem. Die Installation von 1.8.0 hat bei mir funktioniert. Meine Kombination, die für mich funktioniert: Unity 2017.2.0f3 Android SDK 26 Android SDK Tools 25.2.5 JDK 1.8.0_151
Justin
34

Das Problem ist auf die Inkompatibilität der Einheit mit den neuesten Android-Build-Tools zurückzuführen. Für MacOS gibt es hier einen Einzeiler, mit dem es für Sie funktioniert:

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
quelle
Mirrors.neusoft.edu.cn/android/repository/… Dieser Link funktionierte für mich
Noor Ali Butt
Seltsamerweise konnte ich mit wget nicht zu diesem Link gehen (bekam eine 404), aber als ich ihn in einem Browser öffnete, wurde ein Download gestartet, wie ich es erwartet hatte.
Livingtech
1
@livingtech leider ist das, weil, wenn Sie es von SO kopieren, es ein Leerzeichen in der URL hat.
Electronix384128
1
Perfekter Sound, muss aber erst Homebrew installieren und wget! Auf andere Weise laden Sie die Zip-Datei herunter und entpacken sie manuell!
BSQ
Wenn Sie kein Wget haben, können Siecd $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- Öffnen Sie einfach https://developer.android.com/studio/index.html

2- Scrollen Sie zum Ende dieser Seite

3- Laden Sie die letzte Version der Tools für Ihr Betriebssystem herunter (z. B. tools_r25.2.3-windows.zip).

4- Entpacken Sie es

5- Löschen Sie Ordner- Tools aus dem vorherigen Android Sdk-Ordner

6- Kopieren Sie neue Ordner- Tools wie folgt in den Android SDK-Ordner:

Geben Sie hier die Bildbeschreibung ein

Kokabi
quelle
Ich habe versucht, es herunterzuladen und Ihre Schritte zu befolgen, habe aber immer noch das Problem!
Mago Nicolas Palacios
6

Unity 5.6.1 / 2017.1 behebt das Kompatibilitätsproblem mit Android SDK Tools 25.3.1+. Dies wird im Unity-Bug-Tracker unter Ausgabe 888859 und den Versionshinweisen zu 5.6.1 vermerkt .

jkasten
quelle
8
Unity 2017.2 bricht es erneut.
Paul Du Bois
1
Ich benutze 2017.3.1 und ich habe dieses Problem.
FMaz008
Ich verwende 2018.2.1, habe aber immer noch das gleiche Problem
6

Dies sind die Schritte, die schließlich für mich gearbeitet haben ...

  • Installieren Sie JDK jdk1.8.0_131 (ja, diese spezielle Version, keine spätere Version) und legen Sie es als JDK-Pfad in Unity fest.

  • Löschen Sie den Ordner android sdk tools: [android_sdk_root] / tools

  • Laden Sie SDK Tools v25.2.5 (diese spezielle Version) von http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip herunter

  • Extrahieren Sie den Tools-Ordner in diesem Archiv in das Android SDK-Stammverzeichnis

  • Erstellen Sie Ihr Projekt

Greg Quinn
quelle
Hier geht es nicht um das Install JDK jdk1.8.0_131 (bestimmte Version), es hat bei mir mit dem jdk1.8.0_151 funktioniert. Das Problem betrifft die Repository-Tools, wie Sie sie geschrieben haben (nur das eine).
Olivier Pons
6

Für Mac OS-Benutzer:

Gehen Sie zu Ihrem Android SDK-Ordner und löschen Sie den Tools-Ordner (ich empfehle Ihnen, vor dem Löschen eine Kopie zu erstellen, falls diese Lösung das Problem für Sie nicht löst).

Laden Sie dann den Tools-Ordner hier herunter:

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

Sie finden alle Tools Zip-Version hier:

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

Entpacken Sie dann die Download-Datei und legen Sie sie im Android SDK-Ordner ab.

Ich hoffe es hilft

Fandro
quelle
5

Einfachere Lösung: Setzen Sie die Umgebungsvariable USE_SDK_WRAPPER = 1 oder hacken Sie tools / android.bat, um die Zeile "set USE_SDK_WRAPPER = 1" hinzuzufügen. Dies verhindert, dass android.bat eine "j / n" -Aufforderung aufruft, was Unity verwirrt.

Paul Du Bois
quelle
1
@ paul-du-bois Hatte im Moment das gleiche Problem mit den Versionen 2018.1x und 2018.2x von Unity, und das Hinzufügen der Wrapper-Zeile in der Standarddatei "android.bat" löste das Problem. Vielen Dank!
Asethi
5
  1. Löschen Sie den Ordner "tools" des Android SDK: [Ihr Android SDK-Stammverzeichnis] ​​/ tools -> tools

  2. Laden Sie die SDK-Tools herunter: http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip

  3. Extrahieren Sie das in Android SDK root

  4. Erstellen Sie Ihr Projekt

Danach hat es bei mir noch nicht geklappt, ich musste

  1. Gehen Sie zu den Java-Archiven ( http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html ).

  2. Suchen Sie nach der Version jdk-8u131.

  3. Akzeptieren Sie die Lizenzvereinbarung, erstellen Sie ein Konto und laden Sie die Version herunter.

  4. Installieren Sie es und definieren Sie es als JDK-Pfad in Unity.

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

Garvit Jain
quelle
1
danke du hast mich gerettet: o 12/04/2018 und das funktioniert immer noch nicht
sliders_alpha
2

Ich habe das Problem durch Deinstallation von JDK 9 gelöst.

DmitryKanunnikoff
quelle
Dies ist tatsächlich sehr relevant - aus irgendeinem Grund erkennt Unity das neueste JDK, sodass selbst das Festlegen des richtigen Pfads nicht funktioniert. Die neueren JDKs über 8 hinaus müssen deinstalliert werden.
Evan Knowles
Für mich hat es funktioniert, indem JAVA_HOME und ANDROID_HOME zu Systemvariablen hinzugefügt wurden, während die neuesten JDK- und Android-Build-Tools verwendet wurden. setze ANDROID_HOME = C: \ Installationsort \ android-sdk setze PATH =% PATH%;% ANDROID_HOME% \ tools;% ANDROID_HOME% \ platform-tools
asethi
0

Linux-Benutzer:

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

In Unity ändern Sie die Einstellungen in diesen neu erstellten SDK-Ordner.

vishalknishad
quelle
0

In meinem Fall habe ich versucht, APK für ein altes Unity 3D-Projekt zu erstellen und zu erhalten (damit ich das Spiel auf meinem Android-Handy spielen kann). Ich habe die neueste Android Studio-Version und alle SDK-Pakete verwendet, die ich über den SDK-Manager in Android Studio herunterladen konnte. SDK-Pakete befanden sich in

C: / Users / Onat / AppData / Local / Android / Sdk Und die Fehlermeldung, die ich erhielt, war dieselbe, mit Ausnahme der JDK-Version (Java Development Kit) "jdk-12.0.2". JDK befand sich in

C: \ Programme \ Java \ jdk-12.0.2 und Umgebungsvariable in Windows war JAVA_HOME: C: \ Programme \ Java \ jdk-12.0.2

Nach 3 Stunden der Forschung, fand ich heraus , dass die Einheit nicht JDK 10. Wie in gesagt unterstützt https://forum.unity.com/threads/gradle-build-failed-error-could-not-determine-java-version- von-10-0-1.532169 / . Mein Vorschlag ist:

1.Deinstallieren Sie unerwünschtes JDK, falls Sie bereits eines installiert haben. https://www.java.com/tr/download/help/uninstall_java.xml

2. Gehen Sie zu http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

3. Melden Sie sich bei / Öffnen Sie ein Oracle-Konto an, falls es noch nicht angemeldet ist.

4. Laden Sie das ältere, aber funktionsfähige JDK 8 für die Einrichtung Ihres Computers herunter (32 Bit / 64 Bit, Windows / Linux usw.).

5.Installieren Sie das JDK. Merken Sie sich den Installationspfad. ( https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/ )

6.Wenn Sie Windows verwenden, öffnen Sie Umgebungsvariablen und ändern Sie den Java-Pfad über Rechtsklick Arbeitsplatz / Dieser PC> Eigenschaften> Erweiterte Systemeinstellungen> Umgebungsvariablen> Neu> Variablenname: JAVA_HOME> Variablenwert: [IHR JDK-Pfad, Meiner war "C: \ Programme \ Java \ jdk1.8.0_221"]

7. Drücken Sie in Unity 3D auf Bearbeiten> Einstellungen> Externe Tools und geben Sie den JDK-Pfad ein (meiner war "C: \ Programme \ Java \ jdk1.8.0_221").

8. Bearbeiten Sie auch im selben Popup den SDK-Pfad. (Laden Sie es von Android Studio> SDK-Manager> Android SDK> Android SDK-Speicherort herunter.)

9. Starten Sie Ihren Computer bei Bedarf neu, damit die Änderungen wirksam werden.

Onat Korucu
quelle