không tìm thấy sdk android (Unity)


82

Lỗi:

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

Lỗi khi tạo Trình phát:

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

Ảnh chụp màn hình:

ảnh chụp màn hình


1
Hãy thử này và xem giúp ...
Lập trình viên

Tôi không gặp vấn đề gì khi làm việc với Unity 2017.0.2f và sdk 25.2.5 cho đến khi tôi cài đặt Unity 2017.0.3f và đột nhiên Không có gì hoạt động sau đó!
Alex Jolig,

Một năm sau, vẫn là một vấn đề. Điều kỳ lạ là lỗi cho biết: "CommandInvokationFailure: Không thể liệt kê các nền tảng đích. Vui lòng đảm bảo rằng đường dẫn sdk android là chính xác. C: / Users / Francois / AppData / Local / Android / Sdk \ tools \ bin \ avdmanager.bat list target -c "Nếu tôi chạy lệnh chính xác đó, tôi sẽ nhận được danh sách các nền tảng mục tiêu. Vì vậy, bên cạnh \ vs / mess trong đường dẫn, lệnh hoạt động.
FMaz008

Câu trả lời:


196

Tôi có cùng một vấn đề.

Tôi đã sửa chữa bằng cách hạ cấp phiên bản công cụ sdk android.

Các bước.

  1. Xóa thư mục "tools" android sdk: [Your Android SDK root] / tools -> tools

  2. Tải xuống Công cụ SDK: http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip

  3. Giải nén nó vào gốc SDK Android

  4. Xây dựng dự án của bạn


Bản sửa lỗi này tạo ra một lỗi khác: Lỗi: [Temp \ StagingArea \ AndroidManifest-main.xml: 12, C: \ Users \ Admin \ Documents \ Google VR \ Temp \ StagingArea \ android-Library \ gvr-permissionsupport-release \ AndroidManifest.xml : 3] Tệp kê khai chính có <use-sdk android: minSdkVersion = '16 '> nhưng thư viện sử dụng minSdkVersion = '19'
Ajq Ngày

Cũng cần đảm bảo đặt Cấp API tối thiểu bằng cùng cấp với SDK. Điều này được thực hiện trong cài đặt Play -> Cài đặt khác. Trong trường hợp của tôi, tôi phải đặt nó thành 19 vì nó đã được đặt thành 16.
Ajq

20
dành cho 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

Làm thế nào tôi có thể giải quyết nó cho Mac? Lệnh đầu cuối không hoạt động đối với tôi.
Mago Nicolas Palacios

4
Tôi vẫn có vấn đề sau này. Rõ ràng JDK 1.9.0 vẫn có vấn đề. Cài đặt 1.8.0 phù hợp với tôi. Sự kết hợp phù hợp với tôi: Unity 2017.2.0f3 Android SDK 26 Công cụ SDK Android 25.2.5 JDK 1.8.0_151
justinl

34

Vấn đề là do sự không tương thích thống nhất với các công cụ xây dựng Android mới nhất. Đối với MacOS, đây là một lớp lót sẽ giúp nó hoạt động cho bạn:

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

mirror.neusoft.edu.cn/android/repository/… Liên kết này phù hợp với tôi
Noor Ali Butt

Thật kỳ lạ, tôi không thể truy cập liên kết đó bằng wget (đang nhận được 404), nhưng khi tôi mở nó trong trình duyệt, nó bắt đầu tải xuống như tôi mong đợi.
livingtech

1
@livingtech rất tiếc đó là vì khi u sao chép nó từ SO, nó có một khoảng trống trong url.
electronix384128

1
Âm thanh hoàn hảo, nhưng phải cài đặt homebrew và wget trước! Một cách khác, tải xuống tệp zip và giải nén thủ công!
BSQ

nếu bạn không có wget, bạn có thể sử dụngcd $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- Chỉ cần mở https://developer.android.com/studio/index.html

2- cuộn xuống cuối trang đó

3- tải xuống phiên bản công cụ mới nhất cho hệ điều hành của bạn (ví dụ: tools_r25.2.3-windows.zip)

4- Giải nén nó

5- Xóa công cụ thư mục khỏi thư mục Android Sdk trước đó

6- Sao chép các công cụ thư mục mới vào Thư mục SDK Android như hình ảnh này:

nhập mô tả hình ảnh ở đây


Tôi đã thử tải xuống và làm theo các bước của bạn, nhưng vẫn gặp sự cố!
Mago Nicolas Palacios

6

Unity 5.6.1 / 2017.1 khắc phục sự cố tương thích của Công cụ SDK Android 25.3.1+. Điều này được ghi nhận trong trình theo dõi lỗi Unity trong số phát hành 888859ghi chú phát hành 5.6.1 của họ .


8
Unity 2017.2 lại phá vỡ nó.
Paul Du Bois

1
Tôi sử dụng 2017.3.1 và tôi đang gặp sự cố này.
FMaz008

tôi đang sử dụng 2018.2.1 nhưng vẫn gặp sự cố tương tự

6

Đây là những bước cuối cùng đã làm việc cho tôi ...

  • Cài đặt JDK jdk1.8.0_131 (vâng, phiên bản cụ thể này, không phải phiên bản mới hơn) và đặt nó làm Đường dẫn JDK trong Unity.

  • Xóa thư mục công cụ sdk android: [android_sdk_root] / tools

  • Tải xuống Công cụ SDK v25.2.5 (phiên bản cụ thể này) từ http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip

  • Giải nén thư mục công cụ trong kho lưu trữ đó sang Android SDK root

  • Xây dựng dự án của bạn


Đây không phải là về Cài đặt JDK jdk1.8.0_131 (phiên bản cụ thể), nó hoạt động với tôi với jdk1.8.0_151. Vấn đề là về các công cụ kho lưu trữ, như bạn đã viết (chỉ cái đó).
Olivier Pons

6

Đối với người dùng Mac OS:

Đi tới thư mục SDK Android của bạn và xóa thư mục công cụ (Tôi khuyên bạn nên tạo một bản sao trước khi xóa nó, trong trường hợp giải pháp này không giải quyết được vấn đề cho bạn)

Sau đó tải xuống thư mục công cụ tại đây:

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

Bạn có thể tìm thấy tất cả các công cụ phiên bản zip tại đây:

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

Sau đó giải nén tệp tải xuống và đặt nó vào thư mục sdk của Android.

Hy vọng nó giúp


5

Giải pháp dễ dàng hơn: đặt biến môi trường USE_SDK_WRAPPER = 1 hoặc hack tools / android.bat để thêm dòng "set USE_SDK_WRAPPER = 1". Điều này ngăn android.bat xuất hiện lời nhắc "y / n", điều này khiến Unity khó hiểu.


1
@ paul-du-bois Hiện gặp vấn đề tương tự với phiên bản Uniform 2018.1x và 2018.2x và việc thêm dòng wrapper trong tệp "android.bat" mặc định đã giải quyết được vấn đề. Cảm ơn!
asethi,

5
  1. Xóa thư mục "tools" android sdk: [Your Android SDK root] / tools -> tools

  2. Tải xuống Công cụ SDK: http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip

  3. Giải nén nó vào gốc SDK Android

  4. Xây dựng dự án của bạn

Sau đó, nó vẫn chưa hoạt động với tôi, tôi phải

  1. Truy cập kho lưu trữ Java ( http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html )

  2. Tìm kiếm bản phát hành jdk-8u131.

  3. Chấp nhận Thỏa thuận cấp phép, tạo tài khoản và tải xuống bản phát hành.

  4. Cài đặt nó và xác định nó là đường dẫn JDK trong Unity.

nguồn: https://www.reddit.com/r/Unity3D/comments/77azfb/i_cant_get_unity_to_build_run_my_game/


1
cảm ơn bạn bạn đã lưu tôi: o 2018/12/04 và điều này vẫn không làm việc
sliders_alpha

2

Tôi đã giải quyết sự cố bằng cách gỡ cài đặt JDK 9.


Điều này thực sự có liên quan - vì một số lý do Unity đang phát hiện JDK mới nhất, vì vậy ngay cả việc đặt đường dẫn chính xác cũng không hoạt động - các JDK mới hơn, ngoài 8, phải được gỡ cài đặt.
Evan Knowles,

Đối với tôi, nó hoạt động bằng cách thêm JAVA_HOME và ANDROID_HOME vào các biến hệ thống trong khi sử dụng JDK và Công cụ xây dựng Android mới nhất. set ANDROID_HOME = C: \ install location \ android-sdk set PATH =% PATH%;% ANDROID_HOME% \ tools;% ANDROID_HOME% \ platform-tools
asethi

0

Người dùng 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

Trong tùy chọn Unity thay đổi thành thư mục sdk mới tạo này.


0

Trong trường hợp của tôi, tôi đang cố gắng tạo và tải APK cho một dự án Unity 3D cũ (để tôi có thể chơi trò chơi trên điện thoại Android của mình). Tôi đang sử dụng phiên bản Android Studio mới nhất và tất cả các gói SDK mà tôi có thể tải xuống thông qua Trình quản lý SDK trong Android Studio. Gói SDK được đặt tại

C: / Users / Onat / AppData / Local / Android / Sdk Và thông báo lỗi tôi nhận được giống nhau ngoại trừ phiên bản JDK (Java Development Kit) "jdk-12.0.2". JDK được đặt tại

C: \ Program Files \ Java \ jdk-12.0.2 Và Biến Môi trường trong Windows là JAVA_HOME: C: \ Program Files \ Java \ jdk-12.0.2

Sau 3 giờ nghiên cứu, tôi phát hiện ra rằng Unity không hỗ trợ JDK 10. Như đã nói trong https://forum.unity.com/threads/gradle-build-failed-error-could-not-detfining-java-version- từ-10-0-1.532169 / . Đề xuất của tôi là:

1. Gỡ cài đặt JDK không mong muốn nếu bạn đã cài đặt một JDK. https://www.java.com/tr/download/help/uninstall_java.xml

2.Đọc vào http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

3.Đăng nhập / Mở tài khoản Oracle nếu bạn chưa đăng nhập.

4.Tải xuống JDK 8 cũ hơn nhưng có chức năng để thiết lập máy tính của bạn (32 bit / 64 bit, Windows / Linux, v.v.)

5. cài đặt JDK. Ghi nhớ đường dẫn cài đặt. ( https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/ )

6.Nếu bạn đang sử dụng Windows, hãy mở Biến môi trường và thay đổi Đường dẫn Java thông qua Nhấp chuột phải vào Máy tính của tôi / Máy tính này> Thuộc tính> Cài đặt hệ thống nâng cao> Biến môi trường> Mới> Tên biến: JAVA_HOME> Giá trị biến: [Đường dẫn JDK CỦA BẠN, Của tôi là "C: \ Program Files \ Java \ jdk1.8.0_221"]

7. Trong Unity 3D, nhấn Edit> Preferences> External Tools và điền vào đường dẫn JDK (của tôi là "C: \ Program Files \ Java \ jdk1.8.0_221").

Ngoài ra, trong cùng một cửa sổ bật lên, hãy chỉnh sửa Đường dẫn SDK. (Tải xuống từ Android Studio> Trình quản lý SDK> Android SDK> Vị trí SDK Android.)

9.Nếu cần, hãy khởi động lại máy tính của bạn để các thay đổi có hiệu lực.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.