您的位置:首页 > 其它

Windows 下使用adt-bundle-windows 启动SDK Manager 时出错闪退的原因和解决办法

2014-12-11 11:09 555 查看
昨天在Windows7下搭建Android开发环境,在启动SDK Manager的时候遇到了出错闪退的问题,后来查询尝试了很多方法均未得到解决。今天,仔细看了下启动用到的两个bat文件,终于找到了问题的症结所在!

顺便把搭建过程也记录下!

1. 先安装JDK,去官网下载
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
得到exe文件,双击安装即可!

2. 配置JDK的环境变量

java_home、classpath、 path 三个变量

path 变量注意把jdk的放在最前面,避免System32的干扰

3. 安装 adt-bundle-windows

adt-bundle-windows 集成了eclipse、adt、sdk,解压到D盘根目录即可

下载地址:https://dl.google.com/android/adt/adt-bundle-windows-x86-20140702.zip

4. 启动adt-bundle-windows里的eclipse编写个HelloWorld可以运行

遇到了问题:

在工具栏启动SDK Manager 时发生了下列错误



如下界面一闪而过



在尝试了很多方法都无效后,我仔细查看了

D:\adt-bundle-windows-x86-20140702\sdk\tools\android.bat

D:\adt-bundle-windows-x86-20140702\sdk\tools\lib\fand_java.bat

这两个相关批处理文件

最后发现在find_java.bat文件中有如下内容

reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" |^
find /i "x86" > NUL && set arch_ext=32 || set arch_ext=64


正是这一句,导致了错误

reg Query 会去查询注册表,由于我的Windows账户是自己建立的,而不是Administrator用户,没有权限导致查询失败,接着导致arch_ext这个在后面多次用到了变量没正确设置,解决办法可想而知了,直接设置而不去注册表查询,所以将上句改为

arch_ext=32


改了后如图所示:



这样问题得到完美解决,SDK Manager 可以成功启动了



但是更新时发现速度非常慢!

解决办法:

1. 在C:\Windows\System32\drivers\etc\hosts后添加

203.208.46.146    dl-ssl.google.com

203.208.46.146    dl.google.com

2. 点击Android SDK Manager -> Tools-> Options



勾上 Force https://...sources to be fetched using http://...
注意:注销或重启下使hosts生效!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息