Android adt 初步理解和分析(三)
前面已经安装好了sdk,虽然只是下载了一个最早的1.5,但至少有一个sdk了,下面就要用模拟器来运行这个sdk里面的镜像文件了.
打开 android virtual device manager 工具,点击new
配置好了,当然目前只有一个 api可以选择,所以就如下图:
选择了一个小的屏幕,这个时候点击ok,这个时候avd android 虚拟设备就已经建立好了,建立的路径是在
红色标记的那里,你到那个目录下面会发现
有这么几个文件
其中config.ini 和 hardware-qemu.ini 这两个文件很重要,打开分析一下吧
config.ini 文件
avd.ini.encoding=ISO-8859-1
hw.dPad=no
hw.lcd.density=160
hw.cpu.arch=arm
hw.device.hash=1473123938
hw.camera.back=none
disk.dataPartition.size=200M
skin.path=320x480
skin.dynamic=yes
hw.keyboard.lid=yes
hw.keyboard=yes
hw.ramSize=512
hw.device.manufacturer=Generic
hw.sdCard=no
hw.mainKeys=yes
hw.accelerometer=yes
skin.name=320x480
abi.type=armeabi
hw.trackBall=no
hw.device.name=3.2in HVGA slider (ADP1)
hw.battery=yes
hw.sensors.proximity=yes
p_w_picpath.sysdir.1=platforms\android-3\p_w_picpaths\
hw.sensors.orientation=yes
hw.audioInput=yes
hw.gps=yes
vm.heapSize=16
hardware-qemu.ini 这个文件内容很多,就不全贴了
kernel.path = G:\downtest\android_test_sdk/platforms\android-3\p_w_picpaths\/kernel-qemu
kernel.parameters = android.checkjni=1
disk.ramdisk.path = G:\downtest\android_test_sdk/platforms\android-3\p_w_picpaths\/ramdisk.img
disk.systemPartition.initPath = G:\downtest\android_test_sdk/platforms\android-3\p_w_picpaths\/system.img
disk.systemPartition.size = 200m
从这两个文件就让模拟器和sdk联系起来了
kernel.path = G:\downtest\android_test_sdk/platforms\android-3\p_w_picpaths\/kernel-qemu
表示linux的内核是用的android-3\p_w_picpaths\/kernel-qemu 这个内核,到安装的sdk目录下,果然有这个内核
当然这个内核将来也可以通过android源代码自己下载编译生成
disk.ramdisk.path = G:\downtest\android_test_sdk/platforms\android-3\p_w_picpaths\/ramdisk.img
ramdisk.img
一个分区影像文件,它会在kernel 启动的时候,以只读的方式被 mount , 这个文件中只是包含了 /init 以及一些配置文件,这个ramdisk 被用来调用init,以及把真正的root file system mount 起来。
#其实ramdisk.img的内容就是/out/target/product/generic/root目录的压缩而已。
disk.systemPartition.initPath = G:\downtest\android_test_sdk/platforms\android-3\p_w_picpaths\/system.img
它包含了整个系统,android 的framework,application 等等,会被挂接到 "/" 上,包含了系统中所有的二进制文件
# system.img是out/target.product/generic/目录下system目录的一个映射,类似与根文件系统的映像,放着android 的应用程序、配置文件和字体等。
有两个链接描述了各个img的作用,参考一下
http://www.360doc.com/content/11/1213/19/3700464_172010379.shtml
http://www.360doc.com/content/11/1213/19/3700464_172010221.shtml
这些都是编译好的,并且经过google严格测试才对外发布的,而调用这些镜像的文件,是放在
G:\downtest\android_test_sdk\tools\emulator 这个文件,里面有支持不同cpu的版本,也有不同操作系统的版本.
emulator 启动的前提条件是能够找到 这些内核镜像,而avd 也只不过是emulator启动时众多配置参数中的一个集成一些的配置文件而已.
而emulator 如果生成,则也可以从google源码中 make PRODUCT-sdk-sdk 中生成.但的确比较复杂,暂时不展开讨论
基本上这样的话,是不是已经能够大概理解模拟器和sdk之间的关系了
当然细节的研究还是有很多内容,不过可以留待后面的继续讲解
最后截取一张图启动好的图分享一下 呵呵
转载于:https://blog.51cto.com/sunzeduo/1286346
Android adt 初步理解和分析(三)相关推荐
- android 4.4 按键分析三
.5 Android Framework层消息处理 3.5.1 基本介绍 关于Android消息处理机制的全面分析,可参考另外的文档,这里着重介绍事件处理相关问题,作为 ...
- android 背光灯分析,Android灯光系统--深入理解背光灯
Android灯光系统--深入理解背光灯 一.怎么控制背光灯(简述) APP将亮度值写入数据库 线程检测数据库的值是否发生变化 这种机制成为"内容观察者"--contentObse ...
- Android 系统(42)---Android7.0 PowerManagerService亮灭屏分析(三)
Android7.0 PowerManagerService亮灭屏分析(三) 在前面两部分已经对绘制windows与设置设备状态进行了详细讲解. 之后接着就该对亮度值进行设置, 实现亮屏动作了. 在D ...
- Android A/B System OTA分析(三)主系统和bootloader的通信
Android从7.0开始引入新的OTA升级方式,A/B System Updates,这里将其叫做A/B系统,涉及的内容较多,分多篇对A/B系统的各个方面进行分析.本文为第三篇,主系统和bootlo ...
- Android 8.1 PowerManagerService分析(三)——WakeLock机制
欢迎大家关注我的掘金帐号 我会在那里定期更新最新版本的Android Framework源码模块分析~~ 在Android 8.1 PowerManagerService分析(一)中,主要分析了PMS ...
- android ADT学习总结
android中ADT和SDK的关系 ADT(Android Development Tools): 目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT ...
- Android热补丁之Robust(三)坑和解
在前两篇文章中,分析了 Android 热补丁框架 Robust 中,几个重要的流程包括: 补丁加载过程 基础包插桩过程 补丁包自动化生成过程 本篇文章主要分析下集成过程中遇到的坑以及分析问题的思路和 ...
- Android RelativeLayout和LinearLayout性能分析
今天,简单讲讲android里RelativeLayout和LinearLayout的性能比较. 之前,我看到代码优化时需要将界面扁平化,所以查询了如何优化解码,了解一下RelativeLayout和 ...
- c++builder启动了怎么停止_App 竟然是这样跑起来的 —— Android App/Activity 启动流程分析...
在我的上一篇文章: AJie:按下电源键后竟然发生了这一幕 -- Android 系统启动流程分析zhuanlan.zhihu.com 我们分析了系统在开机以后的一系列行为,其中最后一阶段 AMS( ...
最新文章
- shell操作典型案例--FTP操作
- java.nio.file.NoSuchFileException
- oracle服务端字符集
- js打乱数组的顺序_如何用 js 实现一个类似微信红包的随机算法
- annotations_Spring Annotations我从来没有机会使用第2部分:@ConfigurationProperties
- 麦克风增强软件_唱吧麦克风不会唱歌用它唱都好听,《向往的生活》同款麦克风...
- OpenCV--读取图像中任意点的像素值,并显示坐标
- Bootstrap3 按钮组插件
- 华为交换机一次性进入多个接口_华为交换机交换机常用配置(认证、批量操作)...
- i++与++i的区别+汇编分析
- Word中批量进行中英文标点的转换
- 全屋智能长途跑,谁能与华为一战?
- win10桌面计算机打不开,win10桌面此电脑右键管理打不开处理方法
- 深入剖析eMule 【for_wind】
- 星标3.8k,一款轻量级、高性能的分布式监控系统,功能强大
- 陈子豪mc虚无世界java_我的世界虚无世界2.5陈子豪整合包
- 爬取百度贴吧实战,python教你如何获取
- 抖音何以为“抖音”?网友:原来如此。。。
- 用Python搭建一个股票舆情分析系统
- 20190723 架构师-形成技术体系