您的位置:首页 > 移动开发 > Android开发

Android SDK 在win8下的常见问题

2013-11-23 22:53 435 查看

问题一:SDK Manager 闪退退问题

问题现象:

a. 在android 安装目录下,双击SDK Manager.exe,出现闪退

b.在eclipse 集成开发环境下,点击无反应,无法启功SDK Manager

问题分析:

查看日志发现出现,"'C:\Program' 不是内部或外部命令,也不是可运行的程序”,错误信息。一开始以为是win8造成android SDK不支持文件路径空格,将android sdk 移动到了盘符根目录下,发现问题依然存在,暴露相同的问题。这时开始怀疑问题可能是android
SDK 所依赖的JDK找不到导致,便查询资料android sdk是如何指定JDK路径的,最后在网上找到,关键的androi .bat 这个脚本文件。

里面有:

rem Check we have a valid Java.exe in the path.

set java_exe=

call lib\find_java.bat

if not defined java_exe goto :EOF

call lib\find_java.bat

if not defined java_exe goto :EOF

rem be 0 if the command worked or 1 if the exec failed (program not found).

for /f %%a in ('%~dps0\find_java.exe -s') do set java_exe=%%a

if not defined java_exe goto :CheckFailed

if not defined java_exe goto :CheckFailed

根据脚本继续

查看find_java.bat

rem Check we have a valid Java.exe in the path. The return code will

:SearchJavaW

rem Check if we can find a javaw.exe at the same location than java.exe.

rem If that doesn't work, just fall back on the java.exe we just found.

for /f %%a in ('%~dps0\find_java.exe -s -w') do set javaw_exe=%%a

if not exist %javaw_exe% set javaw_exe=%java_exe%

goto :EOF

可以看出脚本都会去调用“find_java.exe” 这个应用程序,问题应该就出在这个应用程序里。

找到了问题,就来修改吧。

问题解决:

a.修改android.bat

set java_exe=D:/Program Files/Java/jdk1.6.0_27/bin/java.exe

b.将find_java.bat修改为

rem if not defined java_exe goto :CheckFailed

set java_exe=D:/Program Files/Java/jdk1.6.0_27/bin/java.exe

goto :EOF

:SearchJavaW

rem Check if we can find a javaw.exe at the same location than java.exe.

rem If that doesn't work, just fall back on the java.exe we just found.

rem for /f "delims=" %%a in ('"%~dps0\find_java.exe" -s -w') do set javaw_exe=%%a

rem if not exist "%javaw_exe%" set javaw_exe=%java_exe%

set javaw_exe=D:/Program Files/Java/jdk1.6.0_27/bin/javaw.exe

goto :EOF

两种方法原理一样,不经过调用,直接硬指定。经测试有效,但须注意,更新tools后会被覆盖,所以注意备份。

问题二:android sdk 无法更新

问题解决:

1、在SDK Manager下Tools->Options打开了SDK Manager的Settings,选中“Force https://… sources to be fetched using http://…”,强制使用http协议。
2、修改host文件,添加下面两行

#google_android更新

203.208.46.146 dl.google.com

203.208.46.146 dl-ssl.google.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: