制作可独立分发的Android模拟器
文章转载至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模拟器的更多相关文章
- 微软发布独立Android模拟器 为开发者提供测试
微软发布了 Visual Studio 2015 正式版,除了免费的社交版之外,另外也有付费的专业版.这套工具除了提供 Windows 应用程序的整合环境之外,你也可以利用它来开发 Android 程 ...
- 第三方Android 模拟器流畅速度快,适合开发人员
“工欲善其事,必先利其器.” 使用Android模拟器开发和调试应用肯定比使用真机方便.但相比XCODE的IOS模拟器,Android SDK自带的AVD实在不争气,不过一些第三方的模拟器却表现不俗! ...
- android模拟器没有键盘的解决方法
刚开始使用android模拟器的时候,发现自己创建的AVD启动后没有出现侧边的键盘,在网上搜索后,发现很多人都有这个问题,也有文章说直接使用PC上的键盘,因为有对应的快捷键.但是,没有键盘,始终不爽! ...
- 向Android模拟器中批量导入通讯录联系人
使用adb命令向Android模拟器中批量导入通讯录联系人的方法: 使用adb提供的命令, 可以非常方便地从PC中将通讯录批量导入android模拟器中. 首先要先准备好固定格式的vcf文件, 该文件 ...
- Andy - 又一款速度流畅的免费安卓 Android 模拟器 (支持手机无线控制电脑模拟器)
随着 Genymotion.BlueStacks 等电脑上的 Android 模拟器流行起来之后,似乎很多人都发现在电脑上运行使用安卓APP软件.畅玩手机游戏确实很有乐趣. 今天我们又发现了一款全新免 ...
- android 模拟器上网问题
android 模拟器上网问题 1.配置Adroid环境变量(Win7为例) ,启动模拟器 第一步:桌面右键——>我的电脑——>高级系统设置 第二步:高级——>环境变量——&g ...
- 用Android模拟器也可以开发和测试NFC应用
从Android2.3开始支持NFC.不过NFC应用只能在Android手机(或平板电脑)上测试和开发,而且Android手机还必须有NFC芯 片.而且如果测试NFC传输文件时至少需要两部支持NFC的 ...
- atitit.android模拟器使用报告
atitit.android模拟器使用报告 靠谱助手 仅仅7--15M,只助手,没android模拟器.. BlueStacks新版本App Player采用名为Layercake的技术,可以让针对A ...
- 笔记 - 本地拦截genymotion或者Android模拟器的网络请求
我们在主机上面运行了Burp或者fiddler,那么代理已经监听在本机的8080端口了. 那么我们需要在模拟器中进行如下设置: 1.在设置中,长按当前连接的wifi网络,弹出如下: 2. 点击修改网络 ...
随机推荐
- [MVC4-基礎] 使用DataAnnotations+jQuery進行表單驗證
我目前有以下表單,Select部分因為必須上一層有選擇下層才有資料,因此使用jQuery驗證問題類型是否有選擇就好,而問題描述要驗證是否為空,這裡採用MVC內建的DataAnnotations來驗證. ...
- css伪类选择器详细解析及案例使用-----伪元素
伪元素:(css3中将所有伪元素前变成了两个冒号,即::first-letter.::first-line.::before.::after.::selection.目的是为了区分伪元素与伪类.对于I ...
- Oracle - SQL 错误: ORA-00917: 缺失逗号
ORACLE SQL语句中int型插入数据库时,不要加引号.
- (转)C#之玩转反射
前言 之所以要写这篇关于C#反射的随笔,起因有两个: 第一个是自己开发的网站需要用到 其次就是没看到这方面比较好的文章. 所以下定决心自己写一篇,废话不多说开始进入正题. 前期准备 在VS20 ...
- android码农神器 偷懒工具 android懒人框架 LoonAndroid 3 讲解
LoonAndroid 3.0 Loonandroid是一个注解框架,不涉及任何UI效果,目的是一个功能一个方法,以方法为最小颗粒度对功能进行拆解.把功能傻瓜化,简单化,去掉重复性的代码,隐藏复杂的实 ...
- HelloCharts pie饼图绘制
先引用hellocharts-library-<version>.jar 然后在layout中设置 <lecho.lib.hellocharts.view.PieChartView ...
- 【android】Android检查是否已经连接到网络
ConnectivityManager con=(ConnectivityManager)getSystemService(Activity.CONNECTIVITY_SERVICE); boolea ...
- MrHuo.OAuthLoginLibs社会化登录组件Github
今日写的博客 [原创]旧事重提:只配置参数实现OAuth2登录 引来很多园子里的朋友问候,所以今日花了一些时间整理了代码. 现已发布至github: MrHuo.OAuthLoginLibs:http ...
- dedecms likearticle 调用附加表的字段调用方式
[field:id runphp='yes'] $aid = @me; $row = $GLOBALS['dsql']->GetOne("Select 字段名 From `dede_a ...
- WDCP LNMPA和LNMP 504 Gateway time-out错误的解决方法
Nginx的特点是处理静态很给力,Apache的特点是处理动态很稳定,两者结合起来便是LNMPA,nginx处理前端,apache处理后端,这样处理静态会很快,处理动态会很稳定.当我以为安装完成以后便 ...