nie znajdowanie zestawu SDK systemu Android (Unity)

83

Błąd:

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()

Błąd podczas tworzenia odtwarzacza:

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

Zrzut ekranu:

zrzut ekranu

Salman Khan
źródło
1
Spróbuj tego i zobacz, czy to pomoże ...
Programista
Nie miałem problemu z pracą z unity 2017.0.2f i sdk 25.2.5, dopóki nie zainstalowałem Unity 2017.0.3f i nagle nic nie działało później!
Alex Jolig
Rok później nadal problem. Dziwną rzeczą jest to, że błąd mówi: „CommandInvokationFailure: Nie można wyświetlić listy platform docelowych. Upewnij się, że ścieżka SDk systemu Android jest poprawna. C: / Users / Francois / AppData / Local / Android / Sdk \ tools \ bin \ avdmanager.bat lista docelowa -c "Jeśli uruchomię dokładnie to polecenie, otrzymam listę platform docelowych. Więc oprócz \ vs / mess w ścieżce, polecenie działa.
FMaz008

Odpowiedzi:

196

Mam ten sam problem.

Naprawiono przez obniżenie wersji narzędzia SDK systemu Android.

Kroki.

  1. Usuń folder „narzędzia” zestawu Android SDK: [Twój katalog główny Android SDK] / tools -> tools

  2. Pobierz narzędzia SDK: http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip

  3. Wyodrębnij to do katalogu głównego Android SDK

  4. Zbuduj swój projekt

Choi Yonggui
źródło
Ta poprawka powoduje kolejny błąd: Błąd: [Temp \ StagingArea \ AndroidManifest-main.xml: 12, C: \ Users \ Admin \ Documents \ Google VR \ Temp \ StagingArea \ android-libraries \ gvr-permissionsupport-release \ AndroidManifest.xml : 3] Główny plik manifestu zawiera <uses-sdk android: minSdkVersion = '16 '>, ale biblioteka używa minSdkVersion = '19'
Ajq
Należy również upewnić się, że minimalny poziom interfejsu API jest taki sam, jak w przypadku zestawu SDK. Odbywa się to w ustawieniach Play -> Inne ustawienia. W moim przypadku musiałem ustawić go na 19, ponieważ był ustawiony na 16.
Ajq
20
dla 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
Jak mogę to rozwiązać na komputerze Mac? Polecenie terminalu nie działa dla mnie.
Mago Nicolas Palacios
4
Po tym nadal miałem problemy. Najwyraźniej JDK 1.9.0 nadal ma problem. Zainstalowanie 1.8.0 zadziałało dla mnie. Moja kombinacja, która działa dla mnie: Unity 2017.2.0f3 Android SDK 26 Android SDK Tools 25.2.5 JDK 1.8.0_151
justinl
34

Problem jest spowodowany niekompatybilnością z najnowszymi narzędziami do budowania systemu Android. W przypadku MacOS oto jedna linijka, która sprawi, że będzie działać dla Ciebie:

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
źródło
mirrors.neusoft.edu.cn/android/repository/… Ten link działał dla mnie
Noor Ali Butt
Co dziwne, nie mogłem przejść do tego linku za pomocą wget (uzyskiwałem 404), ale kiedy otworzyłem go w przeglądarce, rozpoczęło się pobieranie zgodnie z oczekiwaniami.
livingtech
1
@livingtech niestety to dlatego, że kiedy kopiujesz go z SO, ma spację w adresie URL.
electronix384128
1
Doskonały dźwięk, ale najpierw należy zainstalować homebrew i wget! Innym sposobem, pobierz plik zip i rozpakuj ręcznie!
BSQ
jeśli nie masz wget, możesz użyćcd $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- Po prostu otwórz https://developer.android.com/studio/index.html

2- Przewiń w dół do dołu tej strony

3- Pobierz ostatnią wersję narzędzi dla swojego systemu operacyjnego (na przykład tools_r25.2.3-windows.zip)

4- Rozpakuj go

5- Usuń narzędzia folderów z poprzedniego folderu Android Sdk

6- Skopiuj nowe narzędzia do folderów do folderu Android SDK, takiego jak ten obraz:

wprowadź opis obrazu tutaj

Ayub
źródło
Próbowałem go pobrać i wykonać Twoje kroki, ale nadal mam problem!
Mago Nicolas Palacios
6

Unity 5.6.1 / 2017.1 rozwiązuje problem ze zgodnością Android SDK Tools 25.3.1+. Jest to odnotowane w narzędziu do śledzenia błędów Unity w numerze 888859 i ich informacjach o wydaniu 5.6.1 .

jkasten
źródło
8
Unity 2017.2 znowu go łamie.
Paul Du Bois
1
Używam 2017.3.1 i mam ten problem.
FMaz008
Używam 2018.2.1, ale nadal mam ten sam problem
6

To są kroki, które ostatecznie zadziałały dla mnie ...

  • Zainstaluj JDK jdk1.8.0_131 (tak, ta konkretna wersja, nie nowsza wersja) i ustaw ją jako ścieżkę JDK w Unity.

  • Usuń folder narzędzi SDK systemu Android: [android_sdk_root] / tools

  • Pobierz narzędzia SDK w wersji 25.2.5 (ta konkretna wersja) ze strony http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip

  • Wyodrębnij folder narzędzi w tym archiwum do katalogu głównego Android SDK

  • Zbuduj swój projekt

Greg Quinn
źródło
Nie chodzi o instalację JDK jdk1.8.0_131 (konkretna wersja), to działało dla mnie z jdk1.8.0_151. Problem dotyczy narzędzi repozytorium, tak jak pisałeś (tylko to).
Olivier Pons
6

Użytkownicy systemu Mac OS:

Przejdź do folderu Android SDK i usuń folder narzędzi (zalecamy wykonanie kopii przed jej usunięciem, na wypadek, gdyby to rozwiązanie nie rozwiązało problemu)

Następnie pobierz folder narzędzi tutaj:

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

Możesz znaleźć wszystkie wersje zip narzędzi tutaj:

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

Następnie rozpakuj pobrany plik i umieść go w folderze SDK systemu Android.

Mam nadzieję, że to pomoże

fandro
źródło
5

Łatwiejsze rozwiązanie: ustaw zmienną środowiskową USE_SDK_WRAPPER = 1 lub zhakuj narzędzia / android.bat, aby dodać wiersz "set USE_SDK_WRAPPER = 1". Zapobiega to wyświetlaniu przez android.bat monitu „t / n”, co jest mylące w Unity.

Paul Du Bois
źródło
1
@ paul-du-bois Miał ten sam problem z wersjami Unity 2018.1xi 2018.2x, a dodanie wiersza opakowującego w domyślnym pliku „android.bat” rozwiązało problem. Dzięki!
asethi
5
  1. Usuń folder „narzędzia” zestawu Android SDK: [Twój katalog główny Android SDK] / tools -> tools

  2. Pobierz narzędzia SDK: http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip

  3. Wyodrębnij to do katalogu głównego Android SDK

  4. Zbuduj swój projekt

Potem to jeszcze nie zadziałało, musiałem

  1. Przejdź do archiwów Java ( http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html )

  2. Wyszukaj wydanie jdk-8u131.

  3. Zaakceptuj umowę licencyjną, załóż konto i pobierz wersję.

  4. Zainstaluj go i zdefiniuj jako ścieżkę JDK w Unity.

źródło: https://www.reddit.com/r/Unity3D/comments/77azfb/i_cant_get_unity_to_build_run_my_game/

Garvit Jain
źródło
1
dziękuję, że mnie uratowałeś: o 12/04/2018 i nadal nie działa
sliders_alpha
2

Rozwiązałem problem, odinstalowując JDK 9.

DmitryKanunnikoff
źródło
W rzeczywistości jest to bardzo istotne - z jakiegoś powodu Unity wykrywa najnowszy JDK, więc nawet ustawienie prawidłowej ścieżki nie działa - nowsze JDK, powyżej 8, muszą zostać odinstalowane.
Evan Knowles,
U mnie zadziałało, dodając JAVA_HOME i ANDROID_HOME do zmiennych systemowych podczas korzystania z najnowszych JDK i Android Build Tools. set ANDROID_HOME = C: \ lokalizacja instalacji \ android-sdk set PATH =% PATH%;% ANDROID_HOME% \ tools;% ANDROID_HOME% \ platform-tools
asethi
0

Użytkownicy Linuksa:

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

W preferencjach Unity zmień na ten nowo utworzony folder sdk.

vishalknishad
źródło
0

W moim przypadku próbowałem zbudować i pobrać APK dla starego projektu Unity 3D (aby móc grać w tę grę na moim telefonie z Androidem). Używałem najnowszej wersji Android Studio i wszystkich pakietów SDK, które mogłem pobrać za pośrednictwem Menedżera SDK w Android Studio. Pakiety SDK znajdowały się w

C: / Users / Onat / AppData / Local / Android / Sdk A komunikat o błędzie, który otrzymałem, był taki sam, z wyjątkiem wersji JDK (Java Development Kit) „jdk-12.0.2”. JDK znajdował się w

C: \ Program Files \ Java \ jdk-12.0.2, a zmienną środowiskową w systemie Windows była JAVA_HOME: C: \ Program Files \ Java \ jdk-12.0.2

Po 3 godzinach poszukiwań dowiedziałem się, że Unity nie obsługuje JDK 10. Jak powiedziano w https://forum.unity.com/threads/gradle-build-failed-error-could-not-determine-java-version- od-10-0-1,532169 / . Moja sugestia to:

1. Odinstaluj niechciany pakiet JDK, jeśli masz już zainstalowany. https://www.java.com/tr/download/help/uninstall_java.xml

2. Przejdź do http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

3. Zaloguj się / otwórz konto Oracle, jeśli nie jesteś jeszcze zalogowany.

4. Pobierz starszą, ale funkcjonalną wersję JDK 8 do konfiguracji komputera (32-bitowy / 64-bitowy, Windows / Linux itp.)

5.Zainstaluj pakiet JDK. Zapamiętaj ścieżkę instalacji. ( https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/ )

6.Jeśli używasz systemu Windows, otwórz zmienne środowiskowe i zmień ścieżkę Java, klikając prawym przyciskiem myszy Mój komputer / ten komputer> Właściwości> Zaawansowane ustawienia systemu> Zmienne środowiskowe> Nowy> Nazwa zmiennej: JAVA_HOME> Wartość zmiennej: [TWOJA ścieżka JDK, moja była „C: \ Program Files \ Java \ jdk1.8.0_221”]

7. W Unity 3D naciśnij Edycja> Preferencje> Narzędzia zewnętrzne i wypełnij ścieżkę JDK (moja to „C: \ Program Files \ Java \ jdk1.8.0_221”).

8. Również w tym samym wyskakującym okienku edytuj ścieżkę SDK. (Pobierz z Android Studio> Menedżer SDK> Android SDK> Lokalizacja Android SDK).

9. W razie potrzeby uruchom ponownie komputer, aby zmiany odniosły skutek.

Onat Korucu
źródło