SDK 管理器在 cmd 中执行但未打开
Posted
技术标签:
【中文标题】SDK 管理器在 cmd 中执行但未打开【英文标题】:SDK Manager is executing in cmd but not opening 【发布时间】:2013-08-22 14:51:53 【问题描述】:配置详情:
Windows 8 专业版 32 位
adt-bundle-windows-x86-20130717
jdk-6u26-windows-i586 32bit
目录:
对于 Java - C:\Program Files\Java\jdk1.6.0_26
对于 android 根目录 - Z:\Program Files\Android
对于 Android SDK - Z:\Program Files\Android\sdk
环境变量:
var_name: JAVA_HOME
var_value: C:\Program Files\Java\jdk1.6.0_26\
var_name: JDK_HOME
var_value: C:\Program Files\Java\jdk1.6.0_26\
var_name:路径
var_value: C:\Program Files\Java\jdk1.6.0_26\bin
修改: 1) 设置 java_exe= "%JAVA_HOME%\bin\java.exe" 如果没有定义 java_exe goto :EOF
2) for /f %%a in ('"%~dps0\find_java.exe" -s') 设置 java_exe=%%a
3) for /f %%a in ('"%~dps0\find_java.exe" -s -w') 设置 javaw_exe=%%a
首先我下载了 adt-bundle,然后解压缩到 Android 根目录(我之前安装了 java),然后我从 https://dl-ssl.google.com/android/eclipse/ 安装了 ADT 插件,并成功地将 Eclipse IDE 与 Android SDK 连接起来。现在我正在尝试使用 Android SDK 组件,但是当我在 Eclipse 中单击 Window-> Android SDK Manager 时,会打开一个对话框,说 SDK Manager 将在一段时间内打开,但它没有打开。每当我尝试打开 SDK 管理器时,每次 cmd 提示一秒钟然后消失,而 AVD 管理器正常打开时什么也没有发生。
然后我在几个论坛中查看了一些解决方案并修改了一些代码行(在 tools\android.bat 中修改 1;在 tools\lib\find_java.bat 中修改 2 和 3)
现在在命令行中
Z:\Program Files\Android\sdk\tools>android
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.
-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print product version and exit
-version:<value>
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -jre-no-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see java.lang.instrument
-splash:<imagepath>
show splash screen with specified image
Z:\Program Files\Android\sdk\tools>
如您所见,我的尝试成功并且 android.bat 正在执行,但问题是 当我尝试直接或通过 IDE 再次打开 SDK 管理器时,除了在 cmd 中执行之外什么也没发生。我不能了解实际发生的情况,我无法在任何论坛中找到与此相关的任何内容。请帮忙。提前致谢。
【问题讨论】:
如果通过cmd打开会不会报错? 不,每当我尝试在 cmd 中打开 android.bat 时,它都会返回一些我在代码视图中编写的行,而不是任何类型的错误。 【参考方案1】:在您的 PATH 环境变量中,将 *C:\Program Files\Java\jdk1.6.0_26\bin* 移动到集合的开头,看看是否可以解决问题。
【讨论】:
【参考方案2】:您的 sdk 安装的目录结构很可能发生了变化。尝试从 sdk 目录运行 android.bat
Z:\Program Files\Android\sdk>tools\android.bat
如果 sdk Manager 打开(关闭它)并将 android.bat 中的 work_dir 设置为 sdk 目录。在android.bat中换行
set work_dir="%cd%"
到
set work_dir="Z:\Program Files\Android\sdk"
或到
set work_dir="%~dp0.."
如果上述方法不起作用,请尝试获取更多信息,调用 java 出了什么问题,将 java 调用输出到控制台。在 android.bat 中换行
call %java_exe% .....
到
echo call %java_exe% .....
祝你好运
【讨论】:
【参考方案3】:android.bat 似乎在从我的 Windows 系统上安装的 samba 共享运行时出现问题。这解决了我的问题。
V:\>android
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
[snip]
V:\>c:
C:\Users\me>android
【讨论】:
【参考方案4】:我遇到了同样的问题,我发现批处理文件开头的“set”命令都没有正常工作。 prog 设置为 ~f0。 work_dir 为空 cd /d ~dp0 导致错误“文件名、目录名或卷标语法不正确。”
Android.bat 需要启用命令扩展才能正确运行。
恢复原始批处理文件并编辑此行 来自... 设置本地 到... setlocal enableExtensions
这应该正确设置所有环境变量,以便它们不需要硬编码。
您还可以在注册表中启用命令扩展。进行此更改后重新启动。 HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions = 1
【讨论】:
以上是关于SDK 管理器在 cmd 中执行但未打开的主要内容,如果未能解决你的问题,请参考以下文章
Android SDK 管理器在选择存储库时出现“无法获取 URL https://dl-ssl.google.com/android/repository/repository.xml”错误