之前曾经在网上找过离线安装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-images\android-14\armeabi-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张图片

更多相关文章

  1. Android 平台上玩DOS游戏
  2. 拥抱Android:编译nodejs搭建移动平台
  3. 探索 Android 平台的 CameraX
  4. Android多平台推送
  5. 基于Android客户端的人人网开放平台开发系列教程 (有源码哦)
  6. Studio 1.5模拟器启动错误android/metrics/metrics_reporter_too
  7. 如何开发一个适配Android和iOS双平台的React Native应用
  8. 利用任务调度特性检测Android模拟器

随机推荐

  1. android两种启动Service方式的区别
  2. Android(安卓)FFmpeg系列——2 播放音频
  3. 【Android】MTK Android(安卓)编译命令
  4. android,自定义ViewGroup,tagView,横竖摆
  5. android 使用uinput模拟输入设备的方法
  6. Android中AIDL的使用详解
  7. Android的ScrollView简单使用实例(附Demo
  8. Android实现3秒钟自动关闭界面
  9. Android(安卓)按钮快速点击问题的解决方
  10. Android(安卓)studio JNI中快速生成头文