Java 无法列出目标平台。请确保android sdk路径正确
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/37313735/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Unable to list target platforms. Please make sure the android sdk path is correct
提问by SiYan Xie
I am trying to build old unity version(v_4.6.3) project. but i have got a error. already i have got successful result, but current my sdk is updated with latest version.
我正在尝试构建旧的统一版本(v_4.6.3)项目。但我有一个错误。我已经得到了成功的结果,但目前我的 sdk 已更新为最新版本。
http://screencast.com/t/u7lNiyoc
http://screencast.com/t/u7lNiyoc
Here is my unity error log.
这是我的统一错误日志。
Error building 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_66\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="E:/Temp/sdk\tools" -Dfile.encoding=UTF8 -jar "C:/Program Files (x86)/Unity/Editor/Data/BuildTargetTools/AndroidPlayer\sdktools.jar" - stderr[ Exception in thread "main" java.lang.NoClassDefFoundError: com/android/utils/ILogger at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at SDKMain.main(SDKMain.java:128) Caused by: java.lang.ClassNotFoundException: com.android.utils.ILogger at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 3 more ] stdout[ ]
Error building 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_66\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="E:/Temp/sdk\tools" -Dfile.encoding=UTF8 -jar "C:/Program Files (x86)/Unity/Editor/Data/BuildTargetTools/AndroidPlayer\sdktools.jar" - stderr[ Exception in thread "main" java.lang.NoClassDefFoundError: com/android/utils/ILogger at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at SDKMain.main(SDKMain.java:128) Caused by: java.lang.ClassNotFoundException: com.android.utils.ILogger at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 3 more ] stdout[ ]
How can i fix this issues. Thank you for advances. Kind Regards.
我该如何解决这个问题。谢谢你的进步。亲切的问候。
回答by Programmer
The solution to this problem is constantly changing over time as Unity and the Android SDK change.
这个问题的解决方案随着 Unity 和 Android SDK 的变化而不断变化。
Note that his problem is presumably fixed in Unity 2017.1.
请注意,他的问题可能已在Unity 2017.1 中解决。
LATEST SOLUTION
最新解决方案
1) For Windows, download "tools_r25.2.3-windows.zip"and unzip it.
1) 对于 Windows,下载“tools_r25.2.3-windows.zip”并解压。
2) For MacOSX, download "tools_r25.2.3-macosx.zip"and unzip it.
2) 对于 MacOSX,下载“tools_r25.2.3-macosx.zip”并解压。
3) Add the path of the unzipped SDK to the Edit-->Preferences---> External Tools--->SDK box.
3)在Edit--> Preferences---> External Tools--->SDK框中添加解压后的SDK的路径。
STILL NOT WORKING?
还是行不通?
Uninstall SDK Tools 25 and Android SDK Tools 26. Uninstall both SDK Platform-Tools and SDK Tools. Use version number below that.
卸载 SDK Tools 25 和 Android SDK Tools 26。卸载 SDK Platform-Tools 和 SDK Tools。使用低于它的版本号。
OLD SOLUTION:
旧解决方案:
You did not setup your SDK properly.
您没有正确设置您的 SDK 。
Follow the steps below to setup your Android SDK.
按照以下步骤设置您的 Android SDK。
1. Make sure that there are nospaces in your SDKpath. So create a folder called AndroidSDK
in the C
directory.
1. 确保您的 SDKpath中没有空格。因此AndroidSDK
在C
目录中创建一个名为的文件夹。
2. Copy your Android-sdk
folder to the C:/AndroidSDK
directory.
2. 将您的Android-sdk
文件夹复制到C:/AndroidSDK
目录中。
Now, your SDK path should look like this:
现在,您的 SDK 路径应如下所示:
C:/AndroidSDK/Android-sdk
3. Update your Android SDK path in the Unity Editor.
3. 在 Unity 编辑器中更新您的 Android SDK 路径。
Now, check if it works by trying to Build for Android again.
现在,通过再次尝试 Build for Android 来检查它是否有效。
If it fails, continue from below
如果失败,请从下面继续
4. Download the latest Unity version.
4. 下载最新的 Unity 版本。
5. Re-download SDKthen copy the file to C:/AndroidSDK/Android-sdk
.
5. 重新下载SDK,然后将文件复制到C:/AndroidSDK/Android-sdk
.
6. Go back to Unity and Update the path
6. 返回 Unity 并更新路径
7. Build the Project for Android again, it will show an errorand ask you to update SDK.
7. 再次构建 Android 项目,它将显示错误并要求您更新 SDK。
Click on the "Update Android SDK" buttom. Unity will Automatically update your SDK. Your SDK should then look like something below. Your problem should be gone by now.
单击“更新 Android SDK”按钮。Unity 将自动更新您的 SDK。您的 SDK 应如下所示。你的问题现在应该已经解决了。