打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
2.3.1 使用本地编译成功的镜像文件启动Android模拟器

《深入理解Android:Telephony原理剖析与最佳实践》第2章搭建Android源代码编译环境,本章主要介绍了如何搭建Android源码编译环境以及相关工具的使用及技巧,包括Ubuntu系统、JDK、Android SDK、Eclipse等内容。本节为大家介绍使用本地编译成功的镜像文件启动Android模拟器。

AD:WOT2015 互联网运维与开发者大会 热销抢票

2.3 Android常用工具使用及相关技巧说明

搭建Android编译环境到现在已经完成95%,Android常用工具的使用方法及相关技巧是本章非常重要和关键的内容,其中包括使用本地编译好的IMG镜像文件启动Android AVD(Android Virtual Device)、本地重新创建IMG镜像文件和adb(Android Debug Bridge,Android调试桥)调试工具的使用等,这样就可以更好、更方便地修改、调试Android源代码了。

2.3.1 使用本地编译成功的镜像文件启动Android模拟器

前面的很多准备工作都是为了能成功编译和修改Android源代码,最终能重新生成修改Android源代码后的IMG镜像文件,那么,该如何使用镜像文件来启动Android模拟器呢?

Android源码编译成功后,在$workdir/out/target/product/generic会生成IMG镜像文件,通过system.img、userdata.img和ramdisk.img这3个镜像文件便可启动Android模拟器,其命令如下:

  1. export imgpath=$workdir/out/target/product/generic  
  2. emulator -image $imgpath/system.img -data $imgpath/userdata.img \  
  3. -ramdisk $imgpath/ramdisk.img 

执行上述命令后,便可以启动一个默认配置的Android虚拟设备,这种启动虚拟设备的方式和通过Android官方发布的SDK启动的虚拟设备有什么不同吗?它们都是基于Android 4.0.3的运行效果,不同的是这里采用本地编译的IMG镜像文件启动虚拟设备。注意,它的意义是运行本地编译的IMG镜像文件,也就意味着修改Android源码后再编译生成镜像文件,通过加载镜像文件运行虚拟设备从而能够运行、调试Android源代码。

技巧 查看、修改Android源代码后,如果每次都按照make方式进行整体编译生成IMG镜像文件,make所消耗的时间较长;此时可进行模块编译,然后通过mkyaffs2imag工具重新生成镜像文件,这样可以减少编译时间从而提升效率。

Android系统中编译出来的system.img、userdata.img、ramdisk.img等镜像文件采用的是YAFFS2镜像文件格式,在Android中包含了mkyaffs2imag工具,它是一个YAFFS2镜像文件格式的制作工具,Android源码编译成功后在$workdir/out/host/linux-x86/bin目录下编译生成mkyaffs2imag可执行文件,其运行方式如下:

  1. cd $workdir/out/target/product/generic  
  2. $workdir/out/host/linux-x86/bin/mkyaffs2image system system.img 

/* 第一个参数system为一个目录,此目录下有需要生成system.img镜像的所有文件,在Android全部编译后会自动生成,在进行单个模块编译时会将最新编译好的应用apk、so动态链接库或一些可执行文件等放入system目录下的对应路径,一般情况下,不要改动system目录中的内容 */

技巧 启动模拟器和生成IMG镜像文件的相关命令可分别写入Shell脚本,以提高效率。将mkyaffs2image可执行文件用root用户复制到/usr/bin下,这样不需要配置就可以在任何地方运行mkyaffs2image制作镜像文件,可将自己编写的Shell脚本放入/usr/bin目录下从而减少bin目录的设置。

启动模拟器的脚本如下:

  1. #!/bin/sh  
  2. imgpath=$workdir/out/target/product/generic  
  3. nohup emulator -avd MyFistDevice -image $imgpath/system.img –data\  
  4. $imgpath/userdata.img -ramdisk $imgpath/ramdisk.img >/dev/null 2>&1 & 

制作IMG镜像文件的Shell脚本如下:

  1. #!/bin/sh  
  2. imgpath=$workdir/out/target/product/generic  
  3. rm $imgpath/system.img  
  4. mkyaffs2image $imgpath/system $imgpath/system.img 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
解压,打包Android的imgags
在Ubuntu上下载、编译和安装Android最新源代码
如何在Android模拟器中模拟SD卡
android模拟器创建和使用SD卡
Android+Netbeans6.8环境搭建
配置一个好用的Android模拟器让你不再对模拟器那么失望
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服