Android SDK를 찾지 못함 (Unity)


82

오류:

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

플레이어 빌드 오류 :

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

스크린 샷 :

스크린 샷


1
이것을 시도 하고 도움 되는지 확인하십시오 ...
프로그래머

Unity 2017.0.3f를 설치할 때까지 Unity 2017.0.2f 및 SDK 25.2.5로 작업하는 데 아무런 문제가 없었고 갑자기 아무것도 작동하지 않았습니다!
알렉스 졸릭

1 년이 지난 지금도 여전히 문제입니다. 이상한 점은 다음과 같은 오류입니다. "CommandInvokationFailure : 대상 플랫폼을 나열 할 수 없습니다. Android SDK 경로가 올바른지 확인하십시오. C : / Users / Francois / AppData / Local / Android / Sdk \ tools \ bin \ avdmanager.bat list target -c "정확한 명령을 실행하면 대상 플랫폼 목록이 표시됩니다. 따라서 경로의 \ vs / 엉망 옆에 명령이 작동합니다.
FMaz008

답변:


196

나도 같은 문제가 있습니다.

Android sdk 도구 버전 다운 그레이드로 수정했습니다.

단계들.

  1. android sdk "tools"폴더 삭제 : [Your Android SDK root] / tools-> tools

  2. SDK 도구 다운로드 : http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip

  3. Android SDK 루트에 추출

  4. 프로젝트 구축


이 수정은 또 다른 오류를 생성합니다. 오류 : [Temp \ StagingArea \ AndroidManifest-main.xml : 12, C : \ Users \ Admin \ Documents \ Google VR \ Temp \ StagingArea \ android-libraries \ gvr-permissionsupport-release \ AndroidManifest.xml 3] 메인 매니페스트 갖는 <용도 - SDK 로이드 :의 minSdkVersion = '16 '> 그러나 라이브러리 용도의 minSdkVersion = '19'
Ajq

또한 최소 API 레벨을 SDK와 동일한 레벨로 설정해야합니다. 이것은 Play 설정-> 기타 설정에서 수행됩니다. 이 16로 설정되어 나의 경우에는 내가 19로 설정했다
Ajq

20
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

Mac에서 어떻게 해결할 수 있습니까? 터미널 명령이 작동하지 않습니다.
Mago Nicolas Palacios

4
이 후에도 여전히 문제가있었습니다. 분명히 JDK 1.9.0에는 여전히 문제가 있습니다. 1.8.0 설치가 저에게 효과적이었습니다. 나를 위해 작동하는 내 조합 : Unity 2017.2.0f3 Android SDK 26 Android SDK 도구 25.2.5 JDK 1.8.0_151
justinl

34

이 문제는 최신 Android 빌드 도구와의 통합이 호환되지 않기 때문입니다. MacOS의 경우 다음과 같이 작동 할 수있는 하나의 라이너가 있습니다.

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


이상하게도 wget (404가 표시됨)으로 해당 링크로 이동할 수 없었지만 브라우저에서 열면 예상대로 다운로드가 시작되었습니다.
livingtech

1
@livingtech 안타깝게도 SO에서 복사하면 URL에 공백이 있기 때문입니다.
electronix384128

1
완벽한 사운드이지만 먼저 homebrew를 설치하고 wget을 설치해야합니다! 또 다른 방법은 zip 파일을 다운로드하고 수동 압축을 푸는 것입니다!
BSQ

당신이 wget을이없는 경우, 당신은 사용할 수 있습니다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
커크 보이어

13

1- https://developer.android.com/studio/index.html을 엽니 다.

2- 해당 페이지의 맨 아래로 스크롤

3- OS 용 도구의 최신 버전 다운로드 (예 : tools_r25.2.3-windows.zip)

4- 압축 해제

5- 이전 Android Sdk 폴더에서 폴더 도구 삭제

6- 다음 이미지와 같이 새 폴더 도구 를 Android SDK 폴더에 복사합니다 .

여기에 이미지 설명 입력


나는 그것을 다운로드하고 ur 단계를 따라 시도했지만 여전히 문제가 있습니다!
Mago Nicolas Palacios


6

이것은 결국 나를 위해 일한 단계입니다 ...

  • JDK jdk1.8.0_131 (예, 최신 버전이 아닌이 특정 버전)을 설치하고 Unity에서 JDK 경로로 설정합니다.

  • Android sdk 도구 폴더 삭제 : [android_sdk_root] / tools

  • http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip 에서 SDK 도구 v25.2.5 (이 특정 버전)를 다운로드합니다.

  • 해당 아카이브의 도구 폴더를 Android SDK 루트에 추출하십시오.

  • 프로젝트 구축


이것은 JDK 설치 jdk1.8.0_131 (특정 버전)에 관한 것이 아니라 jdk1.8.0_151과 함께 저에게 효과적이었습니다. 문제는 당신이 쓴 것과 같은 저장소 도구에 관한 것입니다.
Olivier Pons 2017

6

Mac OS 사용자 :

Android SDK 폴더로 이동하여 도구 폴더를 삭제합니다 (이 솔루션으로 문제가 해결되지 않을 경우 삭제하기 전에 사본을 만드는 것이 좋습니다).

그런 다음 여기에서 도구 폴더를 다운로드하십시오.

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

여기에서 모든 도구 zip 버전을 찾을 수 있습니다.

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

그런 다음 다운로드 파일의 압축을 풀고 Android sdk 폴더에 저장합니다.

도움이되기를 바랍니다.


5

더 쉬운 해결책 : 환경 변수 USE_SDK_WRAPPER = 1을 설정하거나 tools / android.bat를 해킹하여 "set USE_SDK_WRAPPER = 1"줄을 추가합니다. 이것은 android.bat가 Unity를 혼란스럽게하는 "y / n"프롬프트를 표시하는 것을 방지합니다.


1
@ paul-du-bois 2018.1x 및 2018.2x 버전의 Unity에서 지금 동일한 문제가 발생했으며 기본 "android.bat"파일에 래퍼 줄을 추가하면 문제가 해결되었습니다. 감사!
asethi

5
  1. android sdk "tools"폴더 삭제 : [Your Android SDK root] / tools-> tools

  2. SDK 도구 다운로드 : http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip

  3. Android SDK 루트에 추출

  4. 프로젝트 구축

그 후에는 아직 작동하지 않았습니다.

  1. Java 아카이브 ( http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html )로 이동합니다.

  2. jdk-8u131 릴리스를 검색하십시오.

  3. 라이센스 계약에 동의하고 계정을 만들고 릴리스를 다운로드하십시오.

  4. 그것을 설치하고 Unity에서 JDK 경로로 정의하십시오.

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


1
저를 구 해주셔서 감사합니다 : o 12/04/2018 그리고 이것은 여전히 ​​작동하지 않습니다
sliders_alpha 2018-04-12

2

JDK 9를 제거하여 문제를 해결했습니다.


이것은 실제로 매우 관련이 있습니다. 어떤 이유로 Unity가 최신 JDK를 감지하므로 올바른 경로를 설정해도 작동하지 않습니다. 8이 넘는 최신 JDK는 제거해야합니다.
에반 놀즈

나를 위해 그것은 최신 JDK 및 Android 빌드 도구를 사용하는 동안 시스템 변수에 JAVA_HOME 및 ANDROID_HOME을 추가하여 작동했습니다. set ANDROID_HOME = C : \ 설치 위치 \ android-sdk set PATH = % PATH %; % ANDROID_HOME % \ tools; % ANDROID_HOME % \ platform-tools
asethi

0

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

Unity 환경 설정에서 새로 생성 된 sdk 폴더로 변경합니다.


0

제 경우에는 이전 Unity 3D 프로젝트 용 APK를 빌드하고 가져 오려고했습니다 (Android 폰에서 게임을 할 수 있도록). 최신 Android Studio 버전과 Android Studio의 SDK Manager를 통해 다운로드 할 수있는 모든 SDK 패키지를 사용하고있었습니다. SDK 패키지는

C : / Users / Onat / AppData / Local / Android / Sdk 그리고 제가받은 오류 메시지는 JDK (Java Development Kit) 버전 "jdk-12.0.2"를 제외하고는 동일했습니다. JDK는

C : \ Program Files \ Java \ jdk-12.0.2 Windows의 환경 변수는 JAVA_HOME : C : \ Program Files \ Java \ jdk-12.0.2

3 시간의 조사 끝에 Unity가 JDK 10을 지원하지 않는다는 것을 알게되었습니다. https://forum.unity.com/threads/gradle-build-failed-error-could-not-determine-java-version- 10-0-1.532169 /에서 . 내 제안은 다음과 같습니다.

1. 이미 설치되어있는 경우 원하지 않는 JDK를 제거합니다. https://www.java.com/tr/download/help/uninstall_java.xml

2. http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 로 이동합니다 .

3. 아직 로그인하지 않은 경우 Oracle 계정에 로그인하거나 엽니 다.

4. 컴퓨터 설정 (32 비트 / 64 비트, Windows / Linux 등)을 위해 오래되었지만 작동하는 JDK 8을 다운로드합니다.

5. JDK를 설치합니다. 설치 경로를 기억하십시오. ( https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/ )

6. Windows를 사용하는 경우 환경 변수를 열고 내 컴퓨터 /이 PC> 속성> 고급 시스템 설정> 환경 변수> 새로 만들기> 변수 이름 : JAVA_HOME> 변수 값 : [YOUR JDK Path, Mine was "C : \ Program Files \ Java \ jdk1.8.0_221"]

7. Unity 3D에서 Edit> Preferences> External Tools를 누르고 JDK 경로를 입력합니다 (Mine은 "C : \ Program Files \ Java \ jdk1.8.0_221").

8. 또한 동일한 팝업에서 SDK Path를 편집합니다. (Android Studio> SDK Manager> Android SDK> Android SDK 위치에서 가져옵니다.)

9. 필요한 경우 변경 사항을 적용하려면 컴퓨터를 다시 시작하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.