Android 使用 SDK Manager 下载SDK速度慢,容易丢包和异常的解决办法

本文主要是介绍Android 使用 SDK Manager 下载SDK速度慢,容易丢包和异常的解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第一步,

SDK Manager启动之后,会先解析一些google的xml文件,会在Log里面打印出一些日志信息。

解析完之后,把日志全部拷贝到一个记事本里(这一步是因为日志窗口不支持查找),在里面查找你要下载的东西,然后可以得到对应的xml文件。


举个例子:

你想要下载Android 4.0 (API 14) 的 ARM EABI v7a System Image,则查找关键字 ARM EABI v7a System Image,可以找到一行:

Found ARM EABI v7a System Image, Android API 14, revision 2

然后向上找到对应的xml地址为:http://dl-ssl.google.com/android/repository/sys-img/android/sys-img.xml

记住这个地址,一会儿会用到。


第二步,

在浏览器中打开第一步找到的xml,

可以看到该文件的内容,往下翻,找到你要下载的内容的匹配项。


还是上面的例子:

想要下的是 ARM 芯片的system image,可以找到注释为ARM SYSTEM IMAGES的标签下有这样一段:

<!-- Generated at Wed Dec  7 13:47:01 2011 from git_ics-mr0 @ 229537 -->
<sdk:revision>2</sdk:revision>
<sdk:description>Android SDK Platform 4.0</sdk:description>
<sdk:api-level>14</sdk:api-level>
<sdk:abi>armeabi-v7a</sdk:abi>
<sdk:archives><sdk:archive>
<sdk:size>99621822</sdk:size>
<sdk:checksum type="sha1">d8991b0c06b18d7d6ed4169d67460ee1add6661b</sdk:checksum>
<sdk:url>sysimg_armv7a-14_r02.zip</sdk:url>
</sdk:archive></sdk:archives>
<sdk:uses-license ref="android-sdk-license"/>
<sdk:tag-id>default</sdk:tag-id>
</sdk:system-image><sdk:system-image>

可以看到api-level为14,abi为armeabi-v7a,显然就是我们要找的这个东西。


第三步,

在我们找到的匹配项里面,去找一个名为 sdk:url 的标签,记住里面的值,根据第一步找到的xml地址把xml替换成资源名拼接出该资源的真实下载地址。


上面的例子中:

sdk:url对应的值为 sysimg_armv7a-14_r02.zip,我们第一步得到的xml地址为 http://dl-ssl.google.com/android/repository/sys-img/android/sys-img.xml

在这一步,我们拼接的方式是把 sys-img.xml 替换成 sysimg_armv7a-14_r02.zip,就得到了 http://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-14_r02.zip

这个URL就是该资源的真实URL。


第四步,用迅雷或者其它方式下载找到的资源,下载后得到的文件拷贝到sdk目录下的Temp目录中,重启SDK Manager,重新勾选你要下的资源,安装,这次因为本地Temp目录中已经保存了完整的资源文件,因此下载这一步会直接完成,SDK Manager会直接进行安装,安装完就OK了。


大功告成!


本文一部分内容参考此贴:http://www.cnblogs.com/liongis/p/3659813.html

本文在原贴基础上做了一些整理,感谢原文作者的分享。

这篇关于Android 使用 SDK Manager 下载SDK速度慢,容易丢包和异常的解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/828789

相关文章

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

C++ Primer 多维数组的使用

《C++Primer多维数组的使用》本文主要介绍了多维数组在C++语言中的定义、初始化、下标引用以及使用范围for语句处理多维数组的方法,具有一定的参考价值,感兴趣的可以了解一下... 目录多维数组多维数组的初始化多维数组的下标引用使用范围for语句处理多维数组指针和多维数组多维数组严格来说,C++语言没

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud