作为你开发的一部分,为安卓设备开发的 Sencha Touch框架应该在安卓虚拟机中被测试。这篇博客讨论如何安装和使用安卓虚拟机,使用命令行或者Sencha Architect构建器来进行 Sencha Touch开发。
被出售和使用的Android智能手机的数量最近超过了iOS智能手机。 (2013年4月的时代杂志的一篇文章披露出来的数据)。
很多Sencha Touch开发者针对的是Android平台。这篇博客将从头到尾向你展示如何搭建Android开发环境。文章中的截图和路径是Mac OS上的,Linux上的过程几乎是相同的,Windows平台的过程也是非常相似的。

1. 安装Android SDK工具

摘要
安装Android SDK工具: 为你的操作系统下载合适的文件。
详述
在下载页面点击 "Download for Other Platforms"下拉菜单,为你的操作系统下载"SDK Tools Only"压缩文件。(对于Windows,下载zip压缩文件而不是installer.exe安装文件)。
你正在下载的并不是SDK本身,而是一个包含SDK其余安装程序的压缩文件。在下一部分我们将用SDK工具去下载真正的虚拟机。
解压Android SDK Tools到你的主目录下的"bin"文件夹下,这可能需要自己去创建。
Mac OS
对于Mac OS,将文件保存到/Users/username/bin (如果不存在“bin”文件夹则自行创建)。Android SDK在你的Mac上的完整路径是/Users/username/bin/android-sdk-macosx/。
Linux
对于Linux, 将文件保存到/home/username/bin (如果不存在“bin”文件夹则自行创建)。Android SDK在Linux上的完整路径是/home/username/bin/android-sdk-linux/。
Windows
如果你是用的是Windows 7, Windows将你的个人文件存放在C:\Users\username目录下。如果你已经安装Sencha Cmd (见后文),那么C:\Users\username\bin directory目录已经为你创建好了,如果没有的话你可以自行创建。将Android SDK解压到bin文件夹。对于Windows,Android SDK的完整路径是 C:\Users\username\bin\android-sdk-windows。

2. 安装安卓虚拟机

摘要
用你刚刚下载的Android SDK Manager,安装基于Intel的安卓虚拟机。
详述

在Android SDK目录的tools子目录下,你可以找到一个名叫“android”的可执行文件。双击它来运行 Android SDK Manager.

去掉"Android 4.2.2 (API 17)"旁边的勾,这样这一部分的所有已选择选项将被取消。你唯一需要选择的选项是"Intel x86 Atom System Image"。如果你愿意的话可以留着默认被选中的"Platform tools"和"Build-tools"两项。
由于我们使用的是Sencha Touch来开发Android应用,我们不需要任何其他的东西。
以下是完成安装的最后一步:

  1. 单击"Install 4 packages..."来下载和安装你选中的包。
  2. 点击包的名字,然后单击"Accept License"来接受许可。
  3. 底部的进度条将会显示安装进度,请等待直到所有的包被安装。

3. 配置并启动安卓虚拟机

摘要
为了测试我们下载的虚拟机,我们将在第一次运行的时候进行配置,然后启动虚拟机看虚拟机是否正常工作。
详述
在前一步把所有的包下载完之后,选择安卓SDK工具菜单栏上的"Tools → Manage AVDs..."。

将会出现一个对话框显示列出你已经建好的安卓虚拟设备。如果这是你第一次运行这个选项你将不会看到任何虚拟设备。单击 "New..." 来建立一个新的虚拟设备。

填好虚拟机的名字(name),设备类型(type of device)和API等级(本文使用API Level 17 即Android 4.2.2)。同时确保你勾选了"Use Host GPU" 选项。单击确定(OK)来使这些设置生效同时在设备信息摘要界面单击确定(OK)。

当你看见你的第一个安卓虚拟设备前面有一个绿色的勾的时候你就配置好了你的第一台安卓虚拟机。 单击对话框右侧的“Start...”来启动虚拟机。 在下一个窗口点击“Launch”。

如果安装没有出错,安卓虚拟机将会启动。根据不同的电脑配置启动过程可能会需要好几分钟。 看到下面的界面说明你的虚拟机已经启动了。

单击那个圆圈将看到已经在你的虚拟机上安装的软件。如果你进行到了这里说明你已经正确的安装和配置你的安卓虚拟机。

64位Linux系统的其他步骤
Android模拟器文件是一个32位二进制文件。为了让你的64位的Linux系统能运行32位文件,你需要在你的Linux版本上安装32位库。在大多数Linux系统上,默认是没有安装的。
假如你得到一个错误信息类似“emulator: file not found”,即使你看到模拟器文件在你的“工具”目录,也要在你的64位Linux系统上安装32位装载机。
Ubuntu/Debian:执行“sudo apt-get install ia32-libs”
Red Hat/Fedora:请读文档
其他版本的Linux:请谷歌搜索“ 32 bit loader for 64 bit system” 或者其他类似信息

4. 生成Android证书

摘要
创建一个证书以便下载程序到Android虚拟机或者在真机上测试时使用。
详述
要创建一个你的Android虚拟机可以使用的证书,你需要使用Java中的"keytool"程序,所以你的机器上应该安装有Java SE 1.6或者更高版本。如果你使用Mac电脑,这个已经安装好了,Windows机器也很有可能预装了Java。
打开一个终端(Terminal)或者命令提示符窗口(command prompt)输入"keytool"。如果这个命令没有找到,你可能需要访问java.com下载Java SE 1.6或更高版本。
为了简单起见,我们将私钥仓库(keystore)建立在Android SDK目录,将私钥仓库(keystore),别名(alias) 和密码(password)都设为"android1"。 (对于一个真正的证书你不能设置这么简单明显的私钥仓库和密码,但是为了保持示例演示的简单性我们这样做了。)
以下是终端中的显示内容:

view source print?
01.$ pwd
02./User/username/bin/android-sdk-macosx
03.$ keytool -genkey -v -keystore android1.keystore -alias android1 -keyalg RSA -keysize 2048 -validity 10000
04.Enter keystore password: (I entered "android1")
05.What is your first and last name?
06.[Unknown]: Patrick Chu
07.What is the name of your organizational unit?
08.[Unknown]: Training
09.What is the name of your organization?
10.[Unknown]: Sencha
11.What is the name of your City or Locality?
12.[Unknown]: Redwood City
13.What is the name of your State or Province?
14.[Unknown]:  California
15.What is the two-letter country code for this unit?
16.[Unknown]:  US
17.Is CN=Patrick Chu, OU=Training, O=Sencha, L=Redwood City, ST=California, C=US correct?
18.[no]:  yes
19. 
20.Generating 2,048 bit RSA key pair and self-signed certificate (SHA1withRSA) with a validity of 10,000 days
21.for: CN=Patrick Chu, OU=Training, O=Sencha, L=Redwood City, ST=California, C=US
22.Enter key password for <android1>
23.(RETURN if same as keystore password): 
24.[Storing android1.keystore]
25.$

到现在为止,你已经有了一个叫做"android.keystore"的文件包含着你的证书。你需要用这个文件来将Sencha Touch程序打包成本地Android应用程序。

5. 编辑 packager.json

摘要
编辑"packager.json"来反射Android虚拟机环境和你在上面生成的证书文件的细节。
详述
在这一步,我们将生成一个Sencha Touch应用示例,所以我们有些东西要导入到Android虚拟机。为了完成这部,我将对你的Sencha Touch环境做以下假定:
你的本地web服务器的根目录是一个叫“htdocs”的文件夹。如果你是用的是XAMPP来安装Apache这是默认的。
你的Sencha Touch文件应该在"htdocs/touch2"目录下。
你已经安装好了Sencha Cmd。为了进行测试,在终端(Terminal)或者命令提示符窗口(command prompt)中输入"sencha" 。如果你看到Sencha Cmd帮助界面,说明Sencha Cmd已经被安装。如果没有找到命令,安装 Sencha Cmd。
转到"htdocs/touch2"目录,输入以下命令:
sencha generate app --name AndroidDemo --path ../demo
对于Windows,路径是"..\demo"
如果htdocs/demo目录不存在也没关系 -- Sencha Cmd会自动创建。当这些命令执行完毕,你将得到一个简单但是完整的Sencha Touch应用程序。如果你的web服务器在工作,你可以在http://localhost/demo它的运行。

为了告诉这个应用程序具体的安卓环境,我们需要修改"htdocs/demo/packager.json"这个文件。这些是需要我们修改的各个平台通用的属性:
"applicationId": "com.demo.AndroidDemo", /* (这个必须至少包括两用点分隔的部分) */
"platform": "AndroidEmulator",
"certificateAlias": "android1",
"certificatePassword": "android1",
"androidAPILevel": "17",
Mac OS
Mac OS的特定属性:
"certificatePath": "/User/username/bin/android-sdk-macosx/android1.keystore",
"sdkPath": "/User/username/bin/android-sdk-macosx",
替换"username"为你自己的用户名
Linux
Linux的特定属性:
"certificatePath": "/home/username/bin/android-sdk-linux/android1.keystore",
"sdkPath": "/home/username/bin/android-sdk-linux",
替换"username" 为你自己的用户名
Windows
Windows的特定属性:
"certificatePath": "C:/User/username/bin/android-sdk-windows/android1.keystore",
"sdkPath": "C:/User/username/bin/android-sdk-windows",
替换"username" 为你自己的用户名
是的,你可以也应该在你的windows路径使用使用正斜杠
保存你对文件的修改。

你几乎就要完成了!现在我们要做的就是在Android虚拟机上运行我们的程序。按照以下步骤:
启动你的Android虚拟机。当Sencha Cmd试图发送程序文件的时候,虚拟机必须在运行。
转到"htdocs/demo"目录 (你的应用程序的根目录,packager.json在那里)。
输入: sencha app package run packager.json
(注意: 为了确保Sencha Cmd的工作,你必须将你的Java可执行文件添加到你的环境变量中)
如果你足够的幸运(还需要耐心),你应该会在你的Android虚拟机上看见示例程序的运行!恭喜你!
在示例程序中点击底部的选项卡来切换到不同的界面。

摘要
为安卓模拟器安装硬件加速器是为了提高性能。这一步骤是高度推荐的。
讨论
当你在你的安卓模拟器里运行你所编写的Sencha Touch程序时,你可能注意到它运行地有些“懒散”(我认为只是最有礼貌的说词)。因为这个模拟器是完全由软件实现的,所以它总是慢慢腾腾。
不过如果你正在基于英特尔的Mac或者Windows机器上运行的话,你可能已经为安卓模拟器使用了提供硬件加速的英特尔驱动,如同VMWare的或者Hyper-V的虚拟机器得到硬件帮助。你的英特尔处理器不得不支持英特尔虚拟化技术(VT),以便于驱动正常运行。英特尔的这个包的名字为HAX,是“硬件加速器”简写。

注意:你将注意到在安卓的包SDK工具里,HAXM作为一个可能的安装列在最底端。按照这种方式安装HAX我遇到了一些问题。不过,可以进入上面的链接,从那个页面安装HAX。
注意:如果你正在你的个人电脑上的Windows 7上运行Hyper-V,那么为了英特尔硬件加速为你所用,你将不得不禁止使用Hyper-V。Hyper-V将为了独自使用而锁定虚拟特性,因此阻止其他会虚拟化程序运行。

7. 更多资源

Chrome移动模拟器:在Chrome里,你可以模拟触碰事件、屏幕分辨率、设备用户代理、设备方向和定位,所有这一切都来自于Chrome内部。这允许你在主机的浏览器里执行大量的开发和调试,这个要快很多,然后在模拟器里运行应用来进行每天一次的测试和完整性检查.
远端调试安卓上的应用:使用你主机上的Chrome调试你安卓浏览器里的互联网应用。

更多的信息
你是不是对Sencha Touch应用有一个很好的认识,不过你不能确定什么是开发Sencha Touch应用的最好的方法? Sencha培训全年 在全世界的任何地方给你提供包括Sencha Touch和ExtJS的直播的、综合性的课程。Secha认证老师教你最简洁和最佳实践,使你获得Sencha Touch 应用,并尽可能快的运行它,其中包含IOS和安卓下的部署。

译者: Coder1337, 几点人, 多多de棉花糖
译文原文: http://www.oschina.net/translate/android-setup-for-sencha-touch
英文原文: http://www.sencha.com/blog/android-setup-for-sencha-touch/

在 Android 模拟器上设置 Sencha Touch相关推荐

  1. 在Android模拟器上安装Google Play

    问题 我想在模拟器上安装Google Play. 问题是网上没有指南可以准确地告诉我该怎么做. 我不知道为什么,似乎他们使用的是旧版Android Market(3版之前的版本),或者至少有人展示了一 ...

  2. 如何在Android模拟器上安装和卸载APK程序包

    如何在Android模拟器上安装和卸载APK程序包 Android, 程序包, APK, 卸载, 模拟 一,安装APK          安装APK当然首先是要有模拟器,和要安装的APK包,这个不多废 ...

  3. Android 开发 关于APP无法安装到Android模拟器上的问题

    Android 开发 关于APP无法安装到Android模拟器上的问题 我们在创建一个app后,打算安装到Android模拟器上.可能会出现无法安装,或者提示已经安装无法卸载的问题.这个时候需要添加兼 ...

  4. 在 Android 模拟器上运行 ARM 应用

    随着 Android 11 开发者预览版的发布,我们同时也推出了 Android 11 系统映像.新的系统映像在执行 ARM 二进制文件方面取得了显著的性能提升.此前,依赖 ARM 库且无法构建 x8 ...

  5. 【Android 逆向】Frida 框架 ( Frida 2 种运行模式 | Frida 12.7.5 版本相关工具下载地址 | 在 Android 模拟器上运行 Frida 远程服务程序 )

    文章目录 一.Frida 2 种运行模式 二.Frida 12.7.5 版本相关工具下载地址 三.在 Android 模拟器上运行 Frida 远程服务程序 1.启动雷电模拟器 2.上传 frida- ...

  6. android手机照片设壁纸太大,Android手机上设置一个特定的图片作为壁纸会导致手机崩溃...

    上周,我们报道了在一些Android手机上设置一个特定的图片作为壁纸会导致手机崩溃,并陷入显示开关的循环中,使其无法通过锁定屏幕.它影响了大多数安卓手机,尤其是三星智能手机. 人们发现问题在于图像的格 ...

  7. android模拟器webservice,计数值显示在Android模拟器上,通过soap webservice

    我已经尝试在Android中显示一个值,该值是通过soap调用检索的.但我无法让它工作.如果我运行我的应用程序,计数值显示在我的tomcat-apache上.但计数值不显示在我的Android模拟器上 ...

  8. Android官方模拟器root,在Android模拟器上如何获得root权限?

    我需要在Android模拟器中获得root权限,从而使用'iptables'和'busybox'功能. 尝试安装了z4root应用程序, 但需要很长时间,且没有完成获取root就卡住了.有人说如果我们 ...

  9. android+模拟器上gdb,使用gdb在Android Emulator中进行调试c程序

    1.下载Android Debugging Utilities 2.启动Android Emulator模拟器 $ emulator @1.5_R2 3.把gdb和调试文件以及源代码放到模拟器上 $ ...

最新文章

  1. 【Perl】二维数组
  2. POJ1548最小路径覆盖
  3. mongodb笔记(三)
  4. 百度地图 Android SDK - 检索功能使用的简单演示样例
  5. 安卓加载mysql数据到列表里_Android如何从数据库中加载海量数据
  6. asp.net core mvc剖析:KestrelServer
  7. Pytorch(6)-设置随机种子,复现模型结果
  8. 从Maven远程存储库下载
  9. 蚂蚁森林:不存在网友反馈的“没有造林”的情况 干旱造成梭梭矮小
  10. android让文本输入框默认不获取焦点,android EditText 默认情况下不获取焦点(不弹出输入框)...
  11. Python网络编程之基于socket实现文件上传
  12. JxBrowser 与 JavaFX WebView
  13. linux自启动配置文件,linux 开机自启动设置
  14. ubuntu系统解决WPS字体缺失
  15. python迅雷下载任务出错_Celery提交任务出错?
  16. 常州工学院Java作业03
  17. 怎么用win7系统的电脑录屏
  18. Windows 系统托盘图标
  19. Python 之 = [:] copy deepcopy
  20. 才智杂志才智杂志社才智编辑部2022年第35期目录

热门文章

  1. 使用Python+jieba和java+庖丁分词在Spark集群上进行中文分词统计
  2. SpringCloud(3.1)Jenkins安装+GitLab拉取项目
  3. 于彤,女,98岁,中国10大名老中医的养生理念
  4. 局域网计算机可以ping通不能访问共享,局域网可以ping通为什么打不开共享文件夹...
  5. centos安装KDE桌面
  6. python 按月份分组_Python按月份分组日期
  7. S5P210-uboot源码分析-uboot如何启动内核
  8. 违反了 UNIQUE KEY 约束 'UNQ_CusID_DetachPolicyID'。不能在对象 'dbo.CustomerAccount' 中插入重复键。 语句已终止。 警告: 聚合或其
  9. PEGASIS: Power-Efficient Gathering in Sensor Information Systems
  10. 看漫画学Python 第二章代码