原文:Android零基础入门第6节:配置优化SDK Manager,正式约会女神

在前几期中总结分享了Android的前世今生Android 系统架构和应用组件那些事带你一起来聊一聊Android开发环境,上两期分别养成高富帅、轻松邂逅女神,那么本期开始正式约会白富美。

SDK Manager.exe 是ADT Bundle根目录下的一个SDK 管理程序,该程序主要负责下载、更新、删除与sdk 相关的文件。

由于谷歌目前不推荐使用Eclipse,已经停止了对ADT的更新,所以ADT Bundle集合包里的Android版本只有4.4W,不是最新的Android版本,那就需要我们手动更新一下Android版本,当然必不可少的就是需要使用到我们的SDK Manager。

一、SDK Manager入口

进入ADT Bundle工具包的解压包下面的adt-bundle目录,双击“SDK Manager.exe”文件打开sdk管理器,如下图:

正确打开后的页面如下图所示:

如果网络连接顺利,则整个列表很快就能读取出来。

如果出现上图所示,读取加载很慢,那就需要我们收到设置一下国内SDK镜像代理。

二、镜像代理设置

点击“Tools”工具栏,选择“Options”,然后打开代理设置页面,如下图:

打开如下设置窗口,按照下图所示进行设置,然后点击“close”保存。

其中服务器镜像地址填写“mirrors.neusoft.edu.cn”,端口号填写“80”,勾选“Force Https://...”和“Enable Preview Tools”。

然后关闭SDK Manager,再重新打开,页面如下所示:

三、升级SDK

在上图所示列表中分别选中一些必要的工具和sdk包,如下图所示:

 然后点击“Install 12 packages...”,弹出安装确认对话框,如下图所示:

选中“Accept License”,然后点击“Install”进行下载,接下来就是漫长的等待。

安装期间可能会重复接受协议的过程,升级完成后所示列表会显示为“Installed”状态。

由于最新的Android 8.0还没有完全更新,建议将Android7.0下的文件下载下来,便于使用Android自带模拟器。

四、离线升级

在这里,很多同学都会被卡住,由于网络不方便的原因,那么应该如何解决呢?

其实方法有很多,可以从其他朋友那里直接拷贝ADT Bundle目录到本地,然后配置SDK环境变量,即可正常使用。当然这种方法受限于对方本地的sdk版本。还有一种方法就是,单独下载自己需要的部分文件放入指定文件夹即可,而不必全部拷贝。

那么首先我们要来看一下sdk目录结构,基本对应于SDK Manager列表项,只有了解了才知道什么文件对应放在什么地方。

先来看一下比较全面的sdk目录,如下图所示:

1. add-ons

这里面保存着一些附加库,比较常见的如谷歌的GoogleMaps。

2. build-tools

这里保存着与编译相关的重要工具,比如aapt、aidl、逆向调试工具dexdump 和编译脚本dx,目录结构如下图所示:

3. docs

这里面是Android SDKAPI 参考文档,所有的API 都可以在这里查到,目录结构如下图所示:

4. extras

拓展开发包,这里面包括下向下兼容开发包以及Intel 硬件加速程序等。

5. platforms

是每个平台的SDK 真正的文件,里面会根据API Level 划分SDK 版本,这里就以Android7.0来说,进入后有一个android-24 的文件夹,android-24 进入后是Android7.0 SDK 的主要文件,其中data保存着一些系统资源,images 是模拟器映像文件,skins 则是Android 模拟器的皮肤,templates 是工程创建的默认模板,android.jar 则是该版本的主要framework 文件。

6. platform-tools

保存着一些通用工具,比如adb.exe。

7. sources

Android 系统源码目录,文件夹里可以包含多份源码,根据API Level 划分为不同的文件夹。

8. system-images

Android 系统镜像文件。

9. tools

这里包含了重要的工具,比如ddms 用于启动Android 调试工具,draw9patch 则是绘制android平台的可缩放png 图片的工具,sqlite3 可以在PC 上操作SQLite 数据库,emulator 是Android SDK 模拟器主程序,traceview 作为android 平台上重要的调试工具。

小贴士:

大概知道了每个目录的含义,接下来就可以对应下载文件放到指定目录下了,一般在“www.androiddevtools.cn”镜像网站下载,一般会包括SDK Platform-Tools、Build-Tools、SDK、SDK System images。

今天就先到这里,配置优化SDK Manager,正式约会白富美。如果有问题欢迎留言一起探讨,共同成长!

往期总结分享:

Android的前世今生

Android 系统架构和应用组件那些事

带你一起来聊一聊Android开发环境

正确安装和配置JDK,高富帅养成第一招

善用ADT Bundle,轻松邂逅女神

此文章版权为微信公众号分享达人秀——鑫鱻所有,若转载请备注出处,特此声明!

Android零基础入门第6节:配置优化SDK Manager,正式约会女神的更多相关文章

  1. Android零基础入门第13节:Android Studio配置优化,打造开发利器

    原文:Android零基础入门第13节:Android Studio配置优化,打造开发利器 是不是很多同学已经有烦恼出现了?电脑配置已经很高了,但是每次运行Android程序的时候就很卡,而且每次安装 ...

  2. Android零基础入门第73节:Activity初入门,创建和配置如此简单

    Activity是Android应用的重要组成单元之一,也是Android应用最常见的组件之一.前面看到的示例通常都只包含一个Activity或一个AppCompatActivity,但在实际应用中这 ...

  3. Android零基础入门第29节:善用TableLayout表格布局,事半功倍

    原文:Android零基础入门第29节:善用TableLayout表格布局,事半功倍 前面学习了线性布局和相对布局,线性布局虽然方便,但如果遇到控件需要排列整齐的情况就很难达到要求,用相对布局又比较麻 ...

  4. Android零基础入门第30节:两分钟掌握FrameLayout帧布局

    原文:Android零基础入门第30节:两分钟掌握FrameLayout帧布局 前面学习了线性布局.相对布局.表格布局,那么本期来学习第四种布局--FrameLayout帧布局. 一.认识FrameL ...

  5. Android零基础入门第28节:轻松掌握RelativeLayout相对布局

    原文:Android零基础入门第28节:轻松掌握RelativeLayout相对布局 在前面三期中我们对LinearLayout进行了详细的解析,LinearLayout也是我们用的比较多的一个布局. ...

  6. Android零基础入门第26节:layout_gravity和gravity大不同

    原文:Android零基础入门第26节:layout_gravity和gravity大不同 上一期我们一起学习了LinearLayout线性布局的方向.填充模型和权重,本期来一起学习LinearLay ...

  7. Android零基础入门第27节:正确使用padding和margin

    原文:Android零基础入门第27节:正确使用padding和margin 前面两期我们学习了LinearLayout线性布局的方向.填充模型.权重和对齐,那么本期我们来学习LinearLayout ...

  8. Android零基础入门第24节:自定义View简单使用

    原文:Android零基础入门第24节:自定义View简单使用 当我们开发中遇到Android原生的组件无法满足需求时,这时候就应该自定义View来满足这些特殊的组件需求. 一.概述 很多初入Andr ...

  9. Android零基础入门第25节:最简单最常用的LinearLayout线性布局

    原文:Android零基础入门第25节:最简单最常用的LinearLayout线性布局 良好的布局设计对于UI界面至关重要,在前面也简单介绍过,目前Android中的布局主要有6种,创建的布局文件默认 ...

  10. Android零基础入门第23节:ImageButton和ZoomButton使用大全

    原文:Android零基础入门第23节:ImageButton和ZoomButton使用大全 上一期我们学习了ImageView的使用,那么本期来学习ImageView的两个子控件ImageButto ...

随机推荐

  1. ZOJ 3209 Treasure Map DLX

    用最少的矩阵覆盖n*m的地图.注意矩阵不能互相覆盖. 这里显然是一个精确覆盖,但因为矩阵拼接过程中,有公共的边,这里须要的技巧就是把矩阵的左边和以下截去一个单位. #include <stdio ...

  2. .NETCore 实现容器化Docker与私有镜像仓库管理

    原文:.NETCore 实现容器化Docker与私有镜像仓库管理 一.Docker介绍 Docker是用Go语言编写基于Linux操作系统的一些特性开发的,其提供了操作系统级别的抽象,是一种容器管理技 ...

  3. Input ANR处理流程

    ANR时间区别便是指当前这次的事件dispatch过程中执行findFocusedWindowTargetsLocked()方法到下一次执行resetANRTimeoutsLocked()的时间区间. ...

  4. 如何在CSDN博客自定义栏目中添加“给我写信”

    在"自定义栏目"中添加"连接"(将自己的微博,QQ空间和CSDN博客关联起来)很多人都做过.但是添加"给我写信"这个功能,用的好像不太多.此 ...

  5. 一起学Python:协程

    一:协程-yield 协程,又称微线程,纤程.英文名Coroutine. 协程是啥 协程是python个中另外一种实现多任务的方式,只不过比线程更小占用更小执行单元(理解为需要的资源). 为啥说它是一 ...

  6. [Android]使用化名(alias)功能防止相同资源的重复

    在为一个应用匹配不同资源文件的时候,有时可能需要在不同适配类型的资源路径下使用相同的资源文件,这时使用alias方法可以防止相同资源文件的重复,提高效率.以下摘自Android开发文档http://d ...

  7. C# 控制台使用 UAC 权限

    原文:C# 控制台使用 UAC 权限 本文告诉大家如何在 C# 控制台项目使用 UAC 权限.这个方法在 WPF 和 控制台都是可以使用. 右击项目,点击添加文件,找到程序清单 在 WPF 使用 UA ...

  8. .net remoting 使用事件

    原文:.net remoting 使用事件 在RPC如果需要使用事件,相对是比较难的.本文告诉大家如何在 .net remoting 使用事件. 目录 使用 Channel 序列化 开发建议 修复异常 ...

  9. spring-boot-sample-web-jsp

    Pom文件需要配置的: <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl&l ...

  10. Chrome和FireFox中年份显示为113年的解决方法

    下面是段简单的JS显示时间代码片段: <script language="javascript" type="text/javascript"> v ...