Android开发环境搭建
1 软件下载
(1) JDK : http://www.oracle.com/technetwork/java/javase/downloads/index.html
(2) Eclipse :http://www.eclipse.org/downloads/
(3) Android SDK : http://developer.android.com/sdk/index.html
下载:installer_r22.6.2-windows.exe或android-sdk_r22.6.2-windows.zip
(4) ADT :http://developer.android.com/sdk/installing/installing-adt.html
2 安装
2.1 JDK安装JDK并配置JAVA_HOME环境变量。
2.2 Eclipse 解压Eclipse。
2.3安装Android SDK 双击安装installer_r22.6.2-windows.exe。
安装完成后配置环境变量: %ANDROID_SDK_HOME% = C:\ProgramDev\Android\android-sdk。如果不配置ANDROID_SDK_HOME,则打开"SDK Manager.exe"后,生成的相关文件会位于C:\Users\(用户名)\.android目录下,配置了环境变量,则.android目录会位于%ANDROID_SDK_HOME%指向的目录下。
2.4 安装ADT点击Help->Install new Software,然后Add->Archive->找到我们下载好的ADT-22.6.2.zip,同时给个名称,如ADT Plugin,如下图:
确定之后,勾选Developer Tools,下一步:
然后再点下一步,一直继续。
3 运行Eclipse3.1 打开Eclipse配置Android SDK位置
3.2
切换透视图
我们先切换透视图到JAVA,找到右上角的透视图按钮,在弹出的窗口中选择Java,确定。
这时工具栏发生了小小变化,多出了两个小按键:左边的就是SDK Manager,右边的是Android虚拟设置管理器,即AVD(Android Virtual Device)Manager。我们马上就要操作它。
注:在Java EE视图下没有工具栏的Android图标。3.3 创建一个设备
AVD(Android Virtual Device)就是Android应用程序运行的虚拟设备。建立的Android应用要运行,必须创建AVD,每个AVD上可以配置很多的运行项目。
点击工具栏上的类似手机的一个小按钮,弹出对话框:
点New,我们来新建一个设备:SD卡会在系统里生成一个同等大小的文件,用来模拟SD卡,因此不宜设置得太大。
点击确定,新建成功。
4 创建Hello World项目
点击File -> New -> Android Application Project
填好应用名称和相应信息,包名一般是网站域名倒过来写,包名一定要唯一,否则就被认为是同一个程序。目标版本是兼容最高的版本。点击NEXT:
Mark this project as a library:为其他应用程序做基础,作为一个包存在。
以上是设置启动程序的图标。
上是创建一个应用程序的模板选择。
点击Finish,一个项目创建完成。
完成后,Project Explorer窗口有了一个HelloWorld的东东。
src源文件
gen ADT自动生成的JAVA文件,程序员千万不要去修改
Android 4.4.2+Android Private Libraries jar文件
assets资源文件,图片,音频,视频等
bin二进制文件,编译过后的文件
libs第三方的jar文件,即引用第三方的代码
res也是资源文件,与assets不同,生成的文件都有ID
5 运行Hello World项目
在HelloWorld上点右键,Run As->Run Configuration:
或在HelloWorld上点右键,Run As->Android Application:
第一次启动可能需要几分钟,请耐心等待:
Hello World!虽然还没有编写一句代码,但是经典的hello world界面出现了。看到这个界面后,你的android编码之旅就正式启航了。
6 离线下载Android SDK
打开"SDK Manager.exe",下载相关的SDK时,会非常慢。可手动获取这些包的下载地址并使用下载工具下载,手动安装。安装方法简单,重点在于获取下载地址,因每次版本更新地址都可能会有所不同。下载完成后将下载的压缩包放入temp文件夹下。
例如:C:\ProgramDev\android\android_sdk\temp。
然后执行Android SDK Manager 选择你已经下载的包进行安装即可。
6.1 获取离线安装包地址
在"SDK Manager"中,打开右下角的查看日志按钮(红色手右边的那个按钮)可获取读取xml文件日志。认真查看日志文件,发现规律如下:先加载一个xml文件,解析该xml文件,再从该xml文件中获取对应分类的文件的版本信息。逐一打开这几个xml文件,发现就是描述各分类文件的版本信息的,此时我们可从xml文件查看各文件名,只需该文件名填入到这个下载地址即可完成下载:
https://dl-ssl.google.com/android/repository/******.zip (后面这个******.zip是根据你需要下载的文件进行对应填充)。
查看SDK Manager Log发现每次更新时,SDK Manager 都下载以下几个xml文件:
http://dl-ssl.google.com/android/repository/repository-8.xml
http://dl-ssl.google.com/android/repository/addon.xml
https://dl-ssl.google.com/android/repository/addon-6.xml
编写一个简单程序,将其中的名为url的标签对应的内容,拼接在路径 http://dl-ssl.google.com/android/repository/ 后面,即可得到所有需要的安装包的下载地址,然后可以用迅雷等下载工具进行下载,将下载好的包拷贝到SDK根目录下的temp文件夹内,再点安装时,即可直接安装,节省大量时间。
6.2 解析地址程序
用到dom4j-1.6.1.jar库,请自行下载。
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
* 2014-04-20: wintys changed From ZQY's URLFinder
* ==============================================
* This program allow you to catch the URL of the installation packages
* download by Android SDK Manager. Run this program and get packages'URLs
* in the urlfile.txt, copy them to Download Tools to download them faster.
* (The speed is extremely slow in China.)
* Copy the downloaded packages to {your installation path of Android SDK}/temp
* and install them fast in SDK Manager. Enjoy.
*
* @author ZQY
*
*/
public class AndroidSDKUrlParse {
/* the XML files the SDK Manager read... */
public static final String repository = "http://dl-ssl.google.com/android/repository/repository-8.xml";
public static final String addon = "http://dl-ssl.google.com/android/repository/addon.xml";
public static final String addon6 = "https://dl-ssl.google.com/android/repository/addon-6.xml";
public static final String addon2 = "http://software.intel.com/sites/landingpage/android/addon.xml";
public static final String sysimg = "http://www.mips.com/global/sdk-sys-img.xml";
public static final String sysimg2 = "http://download-software.intel.com/sites/landingpage/android/sys-img.xml";
public static final String[] repos = { repository, addon , addon6};
public static void main(String[] args) throws MalformedURLException,
DocumentException {
BufferedWriter out = null;
try {
File file = new File("urlfile.txt");
out = new BufferedWriter(new FileWriter(file));
for (String repo : repos) {
try{
Document doc = read(repo);
findurl(doc.getRootElement(), out);
}catch(Exception e){
e.printStackTrace();
}
}
out.close();
} catch (FileNotFoundException e) {
System.err.println("URL does not exits.");
} catch (IOException e) {
System.err.println("error write output file.");
}
}
/* find the <sdk:url/> tag, and get the absolute path of the file */
public static void findurl(Element element, BufferedWriter out)
throws IOException {
List<?> list = element.elements();
for (Iterator<?> its = list.iterator(); its.hasNext();) {
Element e = (Element) its.next();
if (e.getName().equals("url")) {
String text = e.getText();
String url = "";
if(text != null && !text.startsWith("http")){
url = "http://dl-ssl.google.com/android/repository/"+ text;
}else{
url = text ;
}
url += "\n";
System.out.println(text);
out.write(url);
}
findurl(e, out);
}
}
public static Document read(String fileName) throws MalformedURLException,
DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read(new URL(fileName));
return document;
}
}
运行结果:
android-1.1_r1-windows.zip
android-1.1_r1-macosx.zip
android-1.1_r1-linux.zip
android-1.5_r04-windows.zip
android-1.5_r04-macosx.zip
android-1.5_r04-linux.zip
android-1.6_r03-linux.zip
android-1.6_r03-macosx.zip
android-1.6_r03-windows.zip
android-2.0_r01-linux.zip
android-2.0_r01-macosx.zip
android-2.0_r01-windows.zip
android-2.0.1_r01-linux.zip
android-2.0.1_r01-macosx.zip
android-2.0.1_r01-windows.zip
android-2.1_r03-linux.zip
android-2.2_r03-linux.zip
android-2.3.1_r02-linux.zip
android-2.3.3_r02-linux.zip
android-3.0_r02-linux.zip
android-3.1_r03-linux.zip
android-3.2_r01-linux.zip
android-14_r03.zip
android-15_r03.zip
android-16_r04.zip
android-17_r02.zip
android-18_r02.zip
android-19_r03.zip
sysimg_armv7a-14_r02.zip
sysimg_armv7a-15_r02.zip
sysimg_armv7a-16_r03.zip
sysimg_armv7a-17_r02.zip
sysimg_armv7a-18_r02.zip
sysimg_armv7a-19_r02.zip
samples-2.1_r01-linux.zip
samples-2.2_r01-linux.zip
samples-2.3_r01-linux.zip
samples-2.3.3_r01-linux.zip
samples-3.0_r01-linux.zip
samples-3.1_r01-linux.zip
samples-3.2_r01-linux.zip
samples-14_r02.zip
samples-15_r02.zip
samples-16_r01.zip
samples-17_r01.zip
samples-18_r01.zip
samples-19_r05.zip
platform-tools_r19.0.1-windows.zip
platform-tools_r19.0.1-linux.zip
platform-tools_r19.0.1-macosx.zip
build-tools_r17-windows.zip
build-tools_r17-linux.zip
build-tools_r17-macosx.zip
build-tools_r18.0.1-windows.zip
build-tools_r18.0.1-linux.zip
build-tools_r18.0.1-macosx.zip
build-tools_r18.1-windows.zip
build-tools_r18.1-linux.zip
build-tools_r18.1-macosx.zip
build-tools_r18.1.1-windows.zip
build-tools_r18.1.1-linux.zip
build-tools_r18.1.1-macosx.zip
build-tools_r19-windows.zip
build-tools_r19-linux.zip
build-tools_r19-macosx.zip
build-tools_r19.0.1-windows.zip
build-tools_r19.0.1-linux.zip
build-tools_r19.0.1-macosx.zip
build-tools_r19.0.2-windows.zip
build-tools_r19.0.2-linux.zip
build-tools_r19.0.2-macosx.zip
build-tools_r19.0.3-windows.zip
build-tools_r19.0.3-linux.zip
build-tools_r19.0.3-macosx.zip
tools_r22.6.2-windows.zip
tools_r22.6.2-linux.zip
tools_r22.6.2-macosx.zip
docs-19_r02.zip
sources-14_r01.zip
sources-15_r02.zip
sources-16_r02.zip
sources-17_r01.zip
sources-18_r01.zip
sources-19_r02.zip
google_apis-3-r03.zip
google_apis-4_r02.zip
google_apis-5_r01.zip
google_apis-6_r01.zip
google_apis-7_r01.zip
google_apis-8_r02.zip
google_apis-9_r02.zip
google_apis-10_r02.zip
google_apis-11_r01.zip
google_apis-12_r01.zip
google_apis-13_r01.zip
google_apis-14_r02.zip
google_apis-15_r02.zip
google_apis-16_r03.zip
google_apis-17_r03.zip
google_apis-18_r03.zip
google_apis-19_r04.zip
google_tv-12_r02.zip
google_tv-13_r01.zip
support_r19.zip
android_m2repository_r05.zip
google_m2repository_r07.zip
market_licensing-r02.zip
market_apk_expansion-r03.zip
google_play_services_3265130_r12.zip
google_play_services_4323030_r16.zip
usb_driver_r09-windows.zip
play_billing_r05.zip
https://dl-ssl.google.com/googleadmobadssdk/googleadmobadssdkandroid-6.4.1.zip
https://dl.google.com/gaformobileapps/GoogleAnalyticsAndroid_2.0beta5.zip
webdriver_r02.zip
gcm_r03.zip
support_r19.1.zip
6.3Android SDK 22.6.2离线下载地址通过分析上面的地址,可以得到如下离线下载地址对应关系。6.3.1 tools(必须安装)
Android SDK Tools 、 Andorid SDK Platform-tools、 Android SDK Build-tools分别对应:
http://dl-ssl.google.com/android/repository/tools_r22.6.2-windows.zip
http://dl-ssl.google.com/android/repository/platform-tools_r19.0.1-windows.zip
http://dl-ssl.google.com/android/repository/build-tools_r19.0.3-windows.zip
6.3.2 Android 4.4.2 (API 19) (当前最新版本)
Android 4.4.2 (API 19)已安装的部分分别对应离线下载地址:
http://dl-ssl.google.com/android/repository/docs-19_r02.zip
http://dl-ssl.google.com/android/repository/android-19_r03.zip
http://dl-ssl.google.com/android/repository/samples-19_r05.zip
http://dl-ssl.google.com/android/repository/sysimg_armv7a-19_r02.zip
http://dl-ssl.google.com/android/repository/google_apis-19_r04.zip
http://dl-ssl.google.com/android/repository/sources-19_r02.zip
6.3.3 Android 2.2 (API 8) (可根据兼容性需求选择安装)
Android 2.2 (API 8) 分别 对应离线下载地址:
https://dl-ssl.google.com/android/repository/android-2.2_r03-linux.zip
https://dl-ssl.google.com/android/repository/samples-2.2_r01-linux.zip
https://dl-ssl.google.com/android/repository/google_apis-8_r02.zip
6.3.4 Extras Android Support Library和Google USB Driver必须安装。
Android Support Library和Google USB Driver分别 对应离线下载地址: http://dl-ssl.google.com/android/repository/support_r19.1.zip http://dl-ssl.google.com/android/repository/usb_driver_r09-windows.zip
7 其他
7.1 ADT22.6.2 新建一个android项目多出一个appcompat_v7项目appcompat_v7是google自己的兼容包,右键你的工程->properties->android,就会发现在library里面有import appcompat_v7,不能随便删除,删除后android工程会报错。建立Android Application的时候,只需要将Minimum Required SDK选择到Android 4.0版本(即API 14),就不会在出现appcompat_v7这个内容啦。