Android的开发环境=Eclipse+ADT+SDK
ADT:
安卓开发工具(Android Development Tools),在Eclipse编译IDE环境中,需安装ADT(Android Development Tools)Plug-in,这是Android在Eclipse上的开发工具,为 Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。
Android SDK(Software Development Kit):
配置SDK环境变量:
点击计算机“属性”->“高级系统设置”->“环境变量”
修改Path的值,在原来的值后面加上“;F:\tools\adt-bundle-windows-x86_64-20131030\sdk\tools“注意路径前面的分号";"
新建ANDROID_SDK_HOME环境变量,值为存放安卓模拟器的位置,自己任意,F:\tools\AVD
到此为止,就搭建好Android的开发环境了,可以开发android程序了。
解决问题
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文件
2.代理服务器
找了半天原因,原来是其中的Android SDK tools版本太高了所致。升级后版本为R22.6,Eclipse JUNO与KEPLER两个版本均无法正常工作,需改装其他版本才行。试了很久,发现R22.2.1版本比较稳定。
随便打成包,供需要的人下载。解开后直接覆盖SDK目录下的TOOLS目录即可。
http://pan.baidu.com/s/1nt0SJYp