Android 4.0 SDK的离线方式安装(转)

摘要:
出乎意料的是,我的同事今天下午告诉我,SDK的新版本已经发布。那时,该下班了。由于中国众所周知的原因,访问谷歌非常缓慢。一个SDK是几十千兆字节。使用SDK管理器下载太难了。所以我继续使用我的旧方法——离线安装。

转自:http://networking.ctocio.com.cn/110/12195610.shtml 

作 为一个IT技术人员,迫不及待地就奔向了http://developer.android.com去看看有没有新的SDK公布出来,当时是上午,没见到 有更新,心想一定是若干天后才会发布。没想到同事下午告诉我,新版的SDK已经发布了。当时是临下班,由于国内众所周知的原因,访问谷歌很慢,一个SDK 几十上百兆,如果用SDK Manager下载,太费劲了。于是继续使用我的老办法——离线安装。

  之前曾经在网上找过离线安装SDK的方式,也成功下载过,都是在网址:

  http://dl-ssl.google.com/android/repository/

  后面跟上 类似于“android-1.6_r03-windows.zip“这样的文件名来下载的。这个文件名的得来完全是依靠SDK描述文件

  http://dl-ssl.google.com/android/repository/repository.xml

  得来的,但是随着android 4.0 SDK发布之后,这个文件内容就被更改了,只剩下平台工具和SDK工具了,真正核心的平台和模拟器已经看不到了。

  其实SDK工具是精简版本的SDK框架。只保留了工具,精简掉了其他目录结构。但是本人认为还是SDK框架好。

  因为本身较之SDK工具,体积大不了多少,但是解压后自带的目录结构可以让你不用建立那些固定的文件夹了。

  顺便说一句,android 4.0 开发环境中要求的平台工具和SDK框架都不一样了。需要更新到新版本。目前最低版本要求为:

  SDK Release 14: android-sdk_r14-[依操作系统而定].zip

  platform-tools Release 8: platform-tools_r08-[依操作系统而定].zip

  SDK框架可以在http://developer.android.com/SDK上直接下载。这里给出Windows操作系统下的SDK框架下载链接:

  http://dl.google.com/android/android-sdk_r14-windows.zip

  平台工具可以从上文提到的repository.xml中找到,可以根据不同的开发操作系统分别下载,这里给出Windows操作系统下的平台工具下载链接:

  http://dl-ssl.google.com/android/repository/platform-tools_r08-windows.zip

  先下载SDK框架,然后将其解压,我把这个框架解压到了D:android-sdk-windows目录下,如图所示:

Android 4.0 SDK的离线方式安装(转)第1张

  然后将平台工具解压到这个目录,注意上图中那个“platform-tools”目录,这与压缩包中的“platform-tools”目录相对应。

  接下来就是最下载最重要的android 4.0的平台了。刚才说到repository.xml文件内容被官方修改了。那么如何找到最新以及以往的平台包呢?

  根据SDK Manager.exe启动后的访问记录,我找到了这个新地址:

  http://dl-ssl.google.com/android/repository/repository-5.xml

  这就是保存最新以及以往平台包的xml文件了。从文件里分析,得知4.0的平台包下载路径为:

  http://dl-ssl.google.com/android/repository/android-14_r01.zip

  其实我只从文件中找到了android-14_r01.zip,至于前面的路径,我是通过尝试以前版本的平台包官方地址猜到的。可见官方的存储结构没有发生变化。

  下载完成后,直接将这个包解压到上图中的platforms文件夹下即可:

Android 4.0 SDK的离线方式安装(转)第2张

  上图中蓝颜色的框内就是新加入的android 4.0平台。

  完成这一步的时候,我就急于建立模拟器了。但是建立的时候发生错误,说找不到userdata.img。

  然后我就将android 4.0平台与其他版本的平台进行对比,发现新版平台中少了“images”目录,我还自作聪明地从其他平台中将文件拷贝出来贴到新平台内。

  最后我发现根本不行,无法加载内核数据。其实刚下载这个平台的时候我就曾经有过怀疑。

  因为2.3.3官方发布的平台包就已经有81.5M了,而新版的平台包怎么会少到43.92M呢?于是我就重新打开了SDK Manager去查找原因。

  原来新版平台中已经将系统镜像分离出来了,如下图所示的蓝色框。

Android 4.0 SDK的离线方式安装(转)第3张

  因此我又返回了

  http://dl-ssl.google.com/android/repository/repository-5.xml

  在这个xml中寻找系统镜像的下载地址,最后我找到了:

  http://dl-ssl.google.com/android/repository/sysimg_armv7a-14_r01.zip

  但是问题紧接着又来了。既然分离出来了,解压之后放在哪里呢?我尝试着和其它平台一样放到平台内的“images”目录下,结果失败了。

  虚拟机创建了,但是半天启动不起来。

  后来,我想到了SDK Manager在启动后会自我检查哪些平台装了,哪些没有装。既然它能知道,那我为什么不分析一下它的行为呢?

   说干就干,使用SysinternalsSuite中的Process Monitor工具对其进行监视(SDK Manager套了一层exe的壳,实际上是用Java写的,因此在进程中找不到SDK Manager.exe,而是应该监视java.exe)。后来经过分析,我得出了真正应该存放这个镜像的目录:

  SDK目录下 system-imagesandroid-14armeabi-v7a,如下图所示:

Android 4.0 SDK的离线方式安装(转)第4张

  删掉之前创建的模拟器(因为总是启动不起来,索性删掉了),重新建立了android 4.0的模拟器,OK,大功告成!It works!

  下面放上两张模拟器的截图:

Android 4.0 SDK的离线方式安装(转)第5张

Android 4.0 SDK的离线方式安装(转)第6张

  最后总结一下体验:也许是新版本发布的时候没有经过完全检测。当系统语言设置为中文的时候,默认的谷歌输入法总是崩溃。

  因为系统提示谷歌输入法意外退出,然后尝试重新该服务,启动之后又崩溃,崩溃之后又启动,如此循环反复。我一气之下将输入方法改成了英文就没有这个提示了。

  另外我建立的android 4.0模拟器(WVGA分辨率)开启时占用内存350M,CPU占用率也在30~50%之间。

  我所使用的机器CPU为奔腾D双核E5300 2.6GHz。本机内存2GB。经过同事实验,当采用小分辨率的模拟器时,内存占用差别并不大。

  但是小分辨率模拟器运行流畅度较之大分辨率的要好很多。如果机器性能不是很好的话,建议用小分辨率的模拟器调试。

   写完这篇文章后,有朋友反映4.0模拟器中WXGA分辨率的模拟器无法使用的情况。我亲自实验后发现情况属实,虽然能够创建AVD,但点击AVD Manager中的“Start”按钮后无法启动相应的AVD。我发现要测试平板电脑的环境,可以使用分辨率为WSVGA分辨率的配置,这个AVD是可以 启动的。配置如下:

Android 4.0 SDK的离线方式安装(转)第7张

  下面是两张AVD启动后的截图:

Android 4.0 SDK的离线方式安装(转)第8张

Android 4.0 SDK的离线方式安装(转)第9张

免责声明:文章转载自《Android 4.0 SDK的离线方式安装(转)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vue 插件tab选项卡(转载)怎样把图片资源导入Dll,并且取出来? (转)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

php对xml文件的解析

近来较少写博客了,得克服懒惰的秉性啊! 今天研究了一下php对xml文件的解析。 用到了php的simplexml_load_file()方法,该方法会将xml文件生成一个SimpleXMLElement对象,该对象是继承了Traversable接口的对象,即可以像数组那样遍历其子集。 这样,我们就可以循环得到xml文件的内容,不多说废话,上例子。 假设有...

单元测试框架TestNg使用总结

工欲善其事,必先利其器 单元测试的重要性是不言而喻的。但如果没有好的单元测试工具,是无法激起开发人员的欲望。 Testng便是利器之一。TestNG是基于Annotation的测试框架的先驱,他拥有通过添加诸如灵活的装置、测试分类、参数测试和依赖方法等特性来克服JUnit3的一些不足之处。下面我将总结一些TestNg的重要特性。 关于testng.xml...

解决win10分辨率过高导致某些软件显示小的办法

右键->属性->兼容性->更改所有用户的设置->更改高DPI设置->高DPI缩放替代->勾选替代高DPI的缩放行为指定系统(在应用程序,系统,系统增强里选系统) 参考链接: https://blog.csdn.net/weixin_41391865/article/details/82729757...

百度Android语音识别SDK语义理解与解析方法

百度语义理解开放平台面向互联网开发人员提供自然语言文本的解析服务,也就是能够依据文本的意图解析成对应的表示。 为了易于人阅读,同一时候也方便机器解析和生成,意图表示协议採用 json 语言进行描写叙述,採用 gb18030 编码。  json 语言的基本概念:  1、属性名/属性值  即键值对(key-value)  2、数组  在 json 中是...

【Mybatis-Plus学习笔记(八)】基本配置

本系列博客其他文章请点击下方链接查看【Mybatis-Plus学习笔记】目录 基本配置 首先分享一下官网的Mybatis-Plus配置。 configLocation mybatis-plus.config-location=classpath:mp.xml 就是导入外部的xml配置,现在已经很少用了,因为xml太过繁琐。 注意:configLocati...

Android关于API level、buildToolVersion、CompileSdkVersion

API level: API level是一个整数,它指的是我们使用的框架(Framework)的版本,也就是我们使用的sdk中的各个平台下的android.jar。 但是这个API level又和Android系统的版本有着对应关系,并且每个系统都会在内部记录它所使用的API level。 https://developer.android.com/gu...