设为首页 加入收藏

TOP

编译运行Android模拟器
2014-11-24 11:52:45 来源: 作者: 【 】 浏览:1
Tags:编译 运行 Android 模拟器

source buile/envsetup.sh
lunch sdk-eng
make sdk -j2


编译完之后,sdk安装在了下面的目录里


ANDROIID_DIR/out/host/linux-x86/sdk


在这个目录下有一个压缩包,里面就是我们从eclipse里下载的sdk的包。


如果你做过app开发都会知道,我们只有下载了不同版本的sdk之后才能创建不同版本的模拟器,我们编译完sdk之后就可以创建模拟器了


首先,查看当前sdk的Id号,用于创建一个模拟器


$ ./android list targets


Available Android targets:
----------
id: 1 or "android-14"
Name: Android 4.0
Type: Platform
API level: 14
Revision: 2
Skins: WXGA800, WQVGA400, WXGA720, HVGA, WVGA854, WQVGA432, WVGA800 (default), QVGA, WSVGA
ABIs : no ABIs.


创建一个模拟器


$ ./android create avd -n mydroid -t 1


-n 表示指定模拟器的名字, -t表示指定创建模拟的版本id


启动模拟器


$ ./emulator &


由于模拟器要启动android系统,他要使用几个映像文件,分别是:kernel-qemu , system.img, userdata.img, ramdisk.img


kernel-qemu:内核映像文件,它是linux操作系统针对qemu模拟器编译的内核文件,里面安装有qemu的仿真硬件驱动,如果将来在开发板或手机上移植android,那么,第一步就是要先make出一个支持开发板或手机的kernel来


system.img:是android系统的文件系统,里面包含了android系统的应用程序(apk),系统用到的各种库(jar, so, a)和资源, 配置文件(etc目录下),系统命令(bin, usr/bin, xbin) ,该映像文件是由out/target/product/PRODUCT/system目录打包生成的,我们可以对这个目录里的东西进行定制化,比如,你要想让android系统默认为安装一个应用程序,那么可以将要安装的apk文件拷贝到out/target/product/PRODUCT/system/app目录下


userdata.img:用户数据映像,里面包含有程序安装信息,好比如是windows的C:/Program Files/目录


ramdisk.img:内存磁盘映像,这个文件对于没有做过Linux移植的人来说,不好理解,linux内核启动起来,要挂载一个文件系统作为自己的根文件系统,通常文件系统是存放在块设备上的,也就是硬盘或flash上的。一个linux的根文件系统里面通常包含有以下内容:


usr:最大的目录,存放应用程序和文件


bin:常用的命令目录


etc:系统相关配置文件目录


dev:系统设备目录


opt:主机额外安装的软件目录


boot:存放系统启动时必须读取的配置文件,包括核心 (kernel) 在内


home:普通用户家目录


lib:系统使用库目录


var:日志文件目录


lost+found:系统不正常产生错误时,会将一些遗失的片段放置于此目录下


mnt:外设的挂载点目录


proc:虚拟文件目录,是系统信息的映射


root:root用户家目录


sbin:超级命令所在目录


tmp:一般使用者或者是正在执行的程序暂时放置文件的地方


而ramdisk.img这个映像,其实里面就是上述目录和一些基本配置文件的打包映像,ramdisk是将映像加载到内存里,然后将内存当做一个块设备(硬盘)来使用,所以说通常ramdisk.img通常比较小。当然,除了上面的FHS标准的Linux文件系统目录以外,android系统里,还增加了data,system目录。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux 驱动入门 -- Hello World(1) 下一篇Android 9PNG图片制作

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis on AWS:Elast (2025-12-27 04:19:30)
·在 Spring Boot 项目 (2025-12-27 04:19:27)
·使用华为开发者空间 (2025-12-27 04:19:24)
·Getting Started wit (2025-12-27 03:49:24)
·Ubuntu 上最好用的中 (2025-12-27 03:49:20)