64位win7下Android(安卓)SDK Manager闪退的解决方法
64位win7下Android环境搭建
最近突然对android很感兴趣,于是搭建了android的开发环境。在搭建过程中遇到了各种各样的问题,整整折腾了两周的时间,所以把这些问题和解决方法记录下来,算是对这两周煎熬的一个总结和回馈。
1.下载和安装
1.下载和安装JDK
下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
我的电脑是64位win7系统,所以下载的版本是:
Windows x64 | 90.66 MB | jdk-7u25-windows-x64.exe |
2.下载和安装SDK及Eclipse
安装和配置好JDK后,下载Android SDK:
下载地址:
http://developer.android.com/intl/zh-cn/sdk/index.html
点击Download the SDK ADT Bundle for Windows,
勾选I have read and agree with the above terms and conditions,选择64-bit,然后点击下载
将下载的文件解压到D盘,在D:\adt-bundle-windows-x86_64-20130729下有3个文件:eclipse,sdk,SDK Manager.exe
配置SDK环境变量:
点击计算机“属性”->“高级系统设置”->“环境变量”
修改Path的值,在原来的值后面加上“;D:\adt-bundle-windows-x86_64-20130729\sdk\tools“注意路径前面的分号";"
到此为止,就搭建好Android的开发环境了,可以开发android程序了。
2.解决问题
1.SDK Manager闪退
前面的工作很简单,基本不会遇到什么问题,但是如果想要升级或者下载其他版本的话,就要运行SDK Manager.exe这个程序了。
在运行SDK Manager的时候出现了闪退的现象,sdk无法更新。于是就在网上搜索解决的方法,看来很多人都遇到了这种问题,回复也是大同小异,无非是说JDK环境变量或者SDK的环境变量配置有误,但是按照网上的说法去操作还是无法解决问题。
很多人是在确信JDK环境配置正确的情况下,依然无法正常运行SDK Manager。关于这种说法,我也试过很多次,甚至把java从Program Files卸载后,重新安装到了c盘根目录下(看到过有人说win7文件路径中不要有空格),结果还是没有解决。
在折腾了一周后,从各位前辈遇到的问题和解决方法中意识到一个问题,那就是”跟系统有关”。于是一大早就把女友的本本(32位win7)借来试验,结果一点问题没有,运行SDK Manager.exe后就可以弹出了更新界面。
在SDK Readme中有这样的描述:
From the command-line you can also directly trigger an update by
executing:
tools\android.bat update sdk --no-ui
可以直接在命令行执行android.bat update sdk来更新,但是运行结果出错:
从error信息中,能看出来是android.bat在调用find_java.exe的时候出错了。在lib目录下打开find_java.bat,可以看到刚才出错的那条调用语句:
for /f %%a in ('%~dps0\find_java.exe -s') do set java_exe=%%a
if not defined java_exe goto :CheckFailed
于是我直接在命令行运行find_java.bat,得到的结果和刚才是一样的:
直接执行find_java.exe,返回java.exe的路径:
这样就知道问题是在调用find_java.exe这条语句上,找不出问题,只好修改android.bat文件了。对,直接指定java.exe的路径:
把
set java_exe=
call lib\find_java.bat
改成:
set java_exe=C:\Java\jdk1.7.0_25\bin\java.exe
按照信息中的提示,在命令行输入:
C:\Java\jdk1.7.0_25\bin\java.exe -jar lib\archquery.jar
返回的是”x86_64“,同样的方法,在android.bat文件中找到:
for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a
改成:
set swt_path=lib\x86_64
再次运行android.bat,见证奇迹的时刻:
到这里,sdk manager闪退的问题就解决了,我并没有从根本上解决这个问题,为什么,会出现”find_java.exe“和”-jar lib\archquery.jar“调用失败的问题还是没有搞清楚,以后有时间在研究。
2.无法更新sdk
在搞定闪退的问题后,紧接着发现还是无法更新:这个问题就比较好解决了,一般是被墙掉了,无法访问。解决方法网上流传的主要有两种:
1.修改hosts文件
在”C:\Windows\System32\drivers\etc“目录下找到hosts文件,在最后一行追加: 74.125.237.1 dl-ssl.google.com保存即可。 但是我设置以后依然无法更新,于是采用第二种方案:
2.代理服务器
这里介绍一篇讲goagent的文章,里面有地址: http://www.goagent8.info/然后打开sdk manager.exe,在tools->options中设置: HTTP Proxy SERVER:127.0.0.1 HTTP Proxy Port:8580
记得勾选下面的Force。 然后就可以更新了。
到这里所有的问题都解决了,感谢网上那些前辈,从他们那里学到了很多。 PS:第一次发文章,不恰当的使用了“插入代码”工具,结果在显示的时候出现了多余的字符,实在抱歉,现已修正。
更多相关文章
- android webview 软键盘覆盖 输入框的 问题
- ubuntu android studio 打不开windows android studio创建的项
- Android合并两个APP的具体做法(掌握)
- Android(安卓)之 数据存储方式
- 关于android 4.4 以上写入外部存储卡
- android应用开发入门
- 在mac上运行android的intel模拟器导致的死机问题解决
- mybatisplus的坑 insert标签insert into select无参数问题的解决
- NPM 和webpack 的基础使用