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字符串的常用使用方法

《JavaString字符串的常用使用方法》String是JDK提供的一个类,是引用类型,并不是基本的数据类型,String用于字符串操作,在之前学习c语言的时候,对于一些字符串,会初始化字符数组表... 目录一、什么是String二、如何定义一个String1. 用双引号定义2. 通过构造函数定义三、St

Pydantic中Optional 和Union类型的使用

《Pydantic中Optional和Union类型的使用》本文主要介绍了Pydantic中Optional和Union类型的使用,这两者在处理可选字段和多类型字段时尤为重要,文中通过示例代码介绍的... 目录简介Optional 类型Union 类型Optional 和 Union 的组合总结简介Pyd

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

使用Python实现一键隐藏屏幕并锁定输入

《使用Python实现一键隐藏屏幕并锁定输入》本文主要介绍了使用Python编写一个一键隐藏屏幕并锁定输入的黑科技程序,能够在指定热键触发后立即遮挡屏幕,并禁止一切键盘鼠标输入,这样就再也不用担心自己... 目录1. 概述2. 功能亮点3.代码实现4.使用方法5. 展示效果6. 代码优化与拓展7. 总结1.

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准