无法找到或加载com.android.sdkmanager.Main主类

11

我阅读了有关安装Android SDK的问题的这些以及这些这些

对我来说没有什么作用。

每次我都会遇到错误。

C:\Users\user\AppData\Local\Android\android-sdk\tools>android
Error: Could not find or load main class com.android.sdkmanager.Main

当我尝试启动android.bat时。

我的环境:

C:\Users\user\AppData\Local\Android\android-sdk\tools>java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

JAVA_HOME=c:\Program Files\Java\jdk1.7.0_71\jre\bin

PATH=c:\Program Files\Java\jdk1.7.0_71\jre\bin\;%SystemRoot%\system32;%SystemRoot%;...

我使用最新的Android SDK版本(2014年12月8日发布)- installer_r23.0.2-windows.exe,尝试使用最新的JDK7和JDK8版本,但一直出现相同的错误。

如何解决这个问题?


尝试不要使用最新的构建版本,而是选择一些之前的稳定版本。 - Vitali Pom
10个回答

11

问题:

在.bat文件中所需的JAR位于路径%APP_HOME%\..\lib\sdkmanager-classpath.jar,但由于解压程序的问题,该文件被提取到了%APP_HOME%..\lib\_\sdkmanager-classpath.jar

解决方案:

因此,请勿使用Windows内置的解压工具。改用另一个解压工具,例如7z。
然后将目录正确引用,您可以运行sdkmanager.bat而不会出错。


你有详细的源链接说明使用的解压程序是问题所在,或者为什么一个程序会导致这个问题而另一个程序不会吗?关于“但是由于某些解压问题引起”的问题。 - SherylHohman
@SherylHohman 抱歉,我没有找到任何详细的链接,只有一些旧的编程经验。Windows嵌入式解压工具会将文件或目录名为点、斜杠的字符替换为下划线。 - Francis.TM

7

一个干净的方法是按照以下步骤进行:

  • 进入 /path-to-android-sdk/
  • 删除 Tools 目录
  • 打开 Android Studio
  • 打开 工具 -> SDK 管理器
  • 点击 SDK 工具 选项卡
  • 取消勾选 隐藏已过时的包
  • 进入模式并勾选 Android SDK 工具 (已过时)
  • 点击 应用
  • 等待下载完成....
  • 下载完成后,返回到 /path-to-android-sdk/
  • 您应该再次找到您的 tools 目录
  • 现在一切都应该正常工作了。

注意:我们所做的就是删除和替换旧的 Tools,因为它已经损坏或不兼容。


我还替换了命令行工具文件夹。 - Abhishek Kumar

2
我认为最新版本 '6200805' 存在一些问题,我也遇到了相同的问题。
解决方案:使用旧版 SDK 管理器,以下是旧版的链接地址。
Windows无安装程序版本: https://dl.google.com/android/repository/sdk-tools-windows-4333796.zip MacOSX 版本: https://dl.google.com/android/repository/sdk-tools-darwin-4333796.zip Linux 版本: https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip

1
你好,Rayanni。能否提供一个包含之前版本链接的页面链接,而不是直接链接到文件? - momvart

0

寻找 sdkmanager.jar。该文件应位于 ...tools\lib 文件夹中。根据执行的 android.bat 的内容:

...
set jar_path=lib\sdkmanager.jar;lib\swtmenubar.jar
...

在我的情况下,我也有一个/lib_cc文件夹,其中包含了缺失的文件。问题是通过将原始的/lib文件备份到/lib_1并将/lib_cc复制到/lib来解决的。

0

请确保您已安装所有必需的Android SDK包,其中包括SDK平台25、Android SDK Build-Tools 25.0.2或更高版本、Android支持存储库、Google存储库以及您可能需要的任何其他SDK。

或者尝试重新安装。


0
我通过打开sdkmanager.bat文件并找到这一行来解决了这个问题。

更改此行

set CLASSPATH=%APP_HOME%\lib\/sdkmanager-classpath.jar


set CLASSPATH=%APP_HOME%\lib\_\/sdkmanager-classpath.jar



0
在Windows Server 2019上,使用commandlinetools-win-6609375_latest.zip时我们遇到了同样的问题。我们将包放置在“Program Files”文件夹中,即“C:\Program Files\Android\cmdline-tools\tools\bin”。
如果路径中有空格,则似乎无法正常工作。因此,我们将其放置在没有空格的文件夹路径中,即“C:\Android\cmdline-tools\tools\bin”,现在可以正常工作。
Sdkmanager "Error: Could not find or load main class com.android.sdklib.tool.sdkmanager.SdkManagerCli" on Windows所述。

0

解决方法是在提取版本“6200805”的.zip文件时进行初始提取。

使用7zip或任何其他提取工具进行提取。 Windows标准的“全部提取...”选项会在.\tools\lib路径下创建一个名为“-”的文件夹,并将所有jar文件放置在其中,从而导致问题。

希望这可以帮助到您。


0

我通过设置正确的文件夹层次结构来解决了问题。 即 ANDROID_HOME>cmdline-tools>tools

复制包含所有命令行工具文件的tools文件夹到名为cmdline-tools的文件夹中。然后它就可以工作了。

使用sdkmanager安装的工具(例如platform-tools)将安装在包含cmdline-tools文件夹的文件夹中,对于我的情况是ANDROID_HOME文件夹。


0

下载最新的SDK解决了我的问题 - 找不到或加载主类com.android.sdklib.tool.sdkmanager.SdkManagerCli


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接