文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6586759

如果我们编写了一个Android应用程序,想在一台没有Android SDK或者BUILD环境的机器显示给别人看,应该怎么办呢?通常,我们开发Android应用程序的时候,都是使用模拟器来运行程序,要么是SDK环境下,要么是在源代码BUILD环境下使用。在SDK环境下,结合Eclipse和ADT,使用模拟器很方便,而BUILD环境下,也是很简单地使用emulator命令就可以了,具体可以参考在Ubuntu上下载、编译和安装Android最新源代码一文。这篇文章介绍另外一种方法在Windows下环境下使用Android模拟器,它不依赖于SDK或者BUILD环境,可以独立分发和使用。

要运行Android模拟器emulator,只要具备4个系统镜像就可以了,分别是system.img、userdata.img、ramdisk.img和kernel-qemu,这4个文件均可以在从SDK环境中得到,此外,最好还要添加模拟器皮肤和adb工具,这样功能才算完整。以下介绍具体制方法。

一. 下载Android SDK。官方下载http://dl.google.com/android/android-sdk_rXX-windows.zip,XX是指你要下载的版本号,例如我下载的是08。此链接可能已经被和谐,,可以在网上搜索一下,用其它办法下载。下载好之后,运行SDK Manager工具,下载完整的SDK。假设SDK放在D:\android-sdk-windows目录下。

二. 新建一个目录,例如,在D盘下新建目录D:\AndroidEmulator。进入到D:\android-sdk-windows\tools目录下,将emulator.exe拷拷贝到D:\AndroidEmulator中,同时进入到D:\android-sdk-windows\platform-tools目录下,拷贝adb.exe和AdbWinApi.dll两个文件到D:\AndroidEmulator中。注意,有的SDK把adb.exe和AdbWinApi.dll放在D:\android-sdk-windows\tools目录下。

三. 在D:\AndroidEmulator新建目录images,用来存放上面提到的4个系统镜像。例如要制作Android2.1模拟器,则到D:\android-sdk-windows\platforms\android-7\images目录下,把里面的文件全部拷贝到D:\AndroidEmulator\images目录下,D:\android-sdk-windows\platforms\android-7\images目录包含了system.img、userdata.img、ramdisk.img和kernel-qemu这4个文件。

四. 在D:\AndroidEmulator新建目录skins,用来存放模拟器皮肤文件。继续以制作Android2.1模拟器为例,到D:\android-sdk-windows\platforms\android-7\skins目录下,把里面所有的文件夹拷贝到D:\AndroidEmulator\skins目录下,D:\android-sdk-windows\platforms\android-7\skins目录包含了模拟器皮肤文件。

五. 启动命令行窗口,进入到D:\AndroidEmulator目录,执行以下命令:

D:\AndroidEmulator>start /b emulator.exe -sysdir d:\AndroidEmulator -system images\system.img -data images\userdata.img -ramdisk images\ramdisk.img -kernel images\kernel-qemu -skindir d:\AndroidEmulator\skins -skin HVGA

       start /b表示在后台运行emulator,其它emulator命令选项请执行emulator -help查看。这样,模拟器就运起来了。

六. 如果要在模拟器上安装APK程序,则执行adb install XXX.apk命令,运行adb install命令时,如果遇到下面输出:

D:\AndroidEmulator>adb install Renju.apk
       * daemon not running. starting it now on port 5037 *
       * daemon started successfully *
       error: device offline

      不用理会,重新运行,直到提示成功为止。

这样,如果我们编写了一个Android应用程序,想拿到一台没有Android SDK和Android Build环境的机器上显示给别人看,就可以打包D:\AndroidEmulator这个文件夹,再带上你的Android应用程序,就可以显示了,是不是很方便呢。

附我自己制作的一个Android2.1模拟器,可以下载使用:

程序员联合开发网:http://www.pudn.com/downloads367/sourcecode/comm/android/detail1590288.html

新浪爱问:Part-1:http://ishare.iask.sina.com.cn/f/16902616.html

Part-2:http://ishare.iask.sina.com.cn/f/16902614.html

老罗的新浪微博:http://weibo.com/shengyangluo,欢迎关注!

制作可独立分发的Android模拟器的更多相关文章

  1. 微软发布独立Android模拟器 为开发者提供测试

    微软发布了 Visual Studio 2015 正式版,除了免费的社交版之外,另外也有付费的专业版.这套工具除了提供 Windows 应用程序的整合环境之外,你也可以利用它来开发 Android 程 ...

  2. 第三方Android 模拟器流畅速度快,适合开发人员

    “工欲善其事,必先利其器.” 使用Android模拟器开发和调试应用肯定比使用真机方便.但相比XCODE的IOS模拟器,Android SDK自带的AVD实在不争气,不过一些第三方的模拟器却表现不俗! ...

  3. android模拟器没有键盘的解决方法

    刚开始使用android模拟器的时候,发现自己创建的AVD启动后没有出现侧边的键盘,在网上搜索后,发现很多人都有这个问题,也有文章说直接使用PC上的键盘,因为有对应的快捷键.但是,没有键盘,始终不爽! ...

  4. 向Android模拟器中批量导入通讯录联系人

    使用adb命令向Android模拟器中批量导入通讯录联系人的方法: 使用adb提供的命令, 可以非常方便地从PC中将通讯录批量导入android模拟器中. 首先要先准备好固定格式的vcf文件, 该文件 ...

  5. Andy - 又一款速度流畅的免费安卓 Android 模拟器 (支持手机无线控制电脑模拟器)

    随着 Genymotion.BlueStacks 等电脑上的 Android 模拟器流行起来之后,似乎很多人都发现在电脑上运行使用安卓APP软件.畅玩手机游戏确实很有乐趣. 今天我们又发现了一款全新免 ...

  6. android 模拟器上网问题

    android 模拟器上网问题 1.配置Adroid环境变量(Win7为例) ,启动模拟器 第一步:桌面右键——>我的电脑——>高级系统设置    第二步:高级——>环境变量——&g ...

  7. 用Android模拟器也可以开发和测试NFC应用

    从Android2.3开始支持NFC.不过NFC应用只能在Android手机(或平板电脑)上测试和开发,而且Android手机还必须有NFC芯 片.而且如果测试NFC传输文件时至少需要两部支持NFC的 ...

  8. atitit.android模拟器使用报告

    atitit.android模拟器使用报告 靠谱助手 仅仅7--15M,只助手,没android模拟器.. BlueStacks新版本App Player采用名为Layercake的技术,可以让针对A ...

  9. 笔记 - 本地拦截genymotion或者Android模拟器的网络请求

    我们在主机上面运行了Burp或者fiddler,那么代理已经监听在本机的8080端口了. 那么我们需要在模拟器中进行如下设置: 1.在设置中,长按当前连接的wifi网络,弹出如下: 2. 点击修改网络 ...

随机推荐

  1. Builder模式 初体验

        看来Java构造器模式,决定动手体验下.构造器模式是什么?干什么用的?推荐大家看下ITEYE的一篇文章     http://www.iteye.com/topic/71175     了解构 ...

  2. ajax请求webservice时抛出终止线程的异常

    请求webservice中以下接口,会抛出异常 {"Message":"正在中止线程.","StackTrace":" 在 Sys ...

  3. kafka的一些常用命令

    启动zookeeper bin/zookeeper-server-start.sh config/zookeeper.properties & 启动kafka bin/kafka-server ...

  4. oracle登录错误(ORA-01033:ORACLE initialization or shutdown in progress

    在网上查找出现这种错误的原因一般是因为删除数据库 安装文件下的某个文件造 成的, 但是在我们的服务器上是因为 机子重启(意外断电)了一下就造 成这样的错误,不过解决办法是一样的,下面贴上解决方案 解决 ...

  5. C++的this指针

    这篇博客主要内容翻译自国外著名程序员网站:geekersforgeekers,经过作者小幅度整理,水平有限,敬请指正. 关于this指针的粗浅认识 (一) this指针: 在对象的任意非static类 ...

  6. 基于lucene的案例开发:查询语句创建PackQuery

    转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/44656141 http://www.llwjy.com/blogdetail/1 ...

  7. 【笔记】Linux 和 Unix 作业控制

    Linux 和 Unix 属于多任务的操作系统,也就是说一个系统在同一时间段内能运行多重任务(进程). 作业控制不只是能够停止/挂起(stop/suspend)正在执行的进程(命令),也可以继续/唤醒 ...

  8. mysql 5.7 内存使用监控

    5.7 中的performance_schema 已经有能力监控mysql 的内存使用情况了,对于这一点也是要通过instrument 来实现的,由于内存这一块没有对应的consumer 所以只要 配 ...

  9. javascript中遍历EL表达式List集合中的值

    http://www.cnblogs.com/limeiky/p/6002900.html

  10. [POJ] 3368 / [UVA] 11235 - Frequent values [ST算法]

    2007/2008 ACM International Collegiate Programming Contest University of Ulm Local Contest Problem F ...