我正在尝试设置android-sdk,但不会显示sdkmanager。
由于此错误消息,我检查了我的 JAVA_HOME 变量,女巫正确地指向了jdk安装:
如果我跑步
echo %JAVA_HOME%
我在cmd中得到
C:\Program Files\Java\jdk-10.0.1
这是android.bat的输出
C:\Android\sdk\tools>android.bat
ERROR: No suitable Java found. In order to properly use the Android Developer
Tools, you need a suitable version of Java JDK installed on your system.
We recommend that you install the JDK version of JavaSE, available here:
http://www.oracle.com/technetwork/java/javase/downloads
If you already have Java installed, you can define the JAVA_HOME environment
variable in Control Panel / System / Avanced System Settings to point to the
JDK folder.
You can find the complete Android SDK requirements here:
http://developer.android.com/sdk/requirements.html
C:\Android\sdk\tools>
答案 0 :(得分:1)
找到了一个不需要降级到 JAVA 8 的解决方案,因此,JRE 可以选择为“uiautomatorviewer”运行 VM。
需要安装 Android Studio 并将以下位置添加到“path”系统变量中
C:\Program Files\Android\Android Studio\jre\bin
我有 jdk-11.0.6 并且“uiautomatorviewer”工作正常。
答案 1 :(得分:0)
如果Java降级对您不起作用,请尝试
经过长期的努力,我能够找出问题所在,不确定这是否是有效的解决方法,但确实可以解决此问题。
在最新的Android Studio版本3.4中,
第44行上的C:\ Users \ username \ AppData \ Local \ Android \ Sdk \ tools \ lib \ find_java.bat
看起来像这样
for /f "delims=" %%a in ('"%~dps0\find_java%arch_ext%.exe" -s') do set java_exe=%a%
如果您提供
%〜dps0 \ find_java%arch_ext%.exe的回声
这行代码应该根据您的计算机体系结构打印find_java32.exe或find_java64.exe的路径,但会在最终导致问题的finde_javax.exe之前在路径中添加//斜杠。
所以我只是将其修改为如下所示,并且可以正常工作。
为/ f“”确实设置了java_exe =%a%“ >
请告诉我是否有更好的解决方案,或者它是否对您有用
答案 2 :(得分:0)
@Saravinfotech的答案对我不起作用,但它指出了我正确的位置。双重\
仍为我呼叫find_java64.exe
,但运行该命令:
$ .\find_java64.exe -e
Failed to find Java 1.6 (or newer) on your system. [2] The system cannot find the file specified.
即使java.exe
在我的路径上,并且JAVA_HOME
设置在我的oraclejdk \ current文件夹中。虽然不值得调试。
我刚刚使用以下附加功能修补了脚本:
set java_exe=%JAVA_HOME%\bin\java.exe
set javaw_exe=%JAVA_HOME%\bin\javaw.exe
并且脚本停止抱怨。
回顾过去,可能会出现更大的问题。 monkeyrunner.bat
正在使用arg -Djava.ext.dirs
而不是-classpath
来调用arg NoClassDefFoundError
的java.exe,甚至可以解决此问题,我得到{{1} }。 Java 14的最新版本似乎非常不兼容。
修复程序是安装JDK8。