Android环境配置Sencha Touch
转自http://www.phonegap100.com/portal.php?mod=view&aid=19
作为你开发的一部分,为安卓设备开发的 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应用,我们不需要任何其他的东西。
以下是完成安装的最后一步:
- 单击"Install 4 packages..."来下载和安装你选中的包。
- 点击包的名字,然后单击"Accept License"来接受许可。
- 底部的进度条将会显示安装进度,请等待直到所有的包被安装。
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"。 (对于一个真正的证书你不能设置这么简单明显的私钥仓库和密码,但是为了保持示例演示的简单性我们这样做了。)
以下是终端中的显示内容:
$ pwd
/User/username/bin/android-sdk-macosx
$ keytool -genkey -v -keystore android1.keystore -alias android1 -keyalg RSA -keysize 2048 -validity 10000
Enter keystore password: (I entered "android1")
What is your first and last name?
[Unknown]: Patrick Chu
What is the name of your organizational unit?
[Unknown]: Training
What is the name of your organization?
[Unknown]: Sencha
What is the name of your City or Locality?
[Unknown]: Redwood City
What is the name of your State or Province?
[Unknown]: California
What is the two-letter country code for this unit?
[Unknown]: US
Is CN=Patrick Chu, OU=Training, O=Sencha, L=Redwood City, ST=California, C=US correct?
[no]: yes Generating 2,048 bit RSA key pair and self-signed certificate (SHA1withRSA) with a validity of 10,000 days
for: CN=Patrick Chu, OU=Training, O=Sencha, L=Redwood City, ST=California, C=US
Enter key password for <android1>
(RETURN if same as keystore password):
[Storing android1.keystore]
$
到现在为止,你已经有了一个叫做"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和安卓下的部署。
原文来自: http://www.sencha.com/blog/android-setup-for-sencha-touch/
我按照上面的方法配置了,到最后报错,提示STBuild is no longer supported in Cmd 5.
提示版本的问题,待解决。
Android环境配置Sencha Touch的更多相关文章
- [Android] 环境配置之正式版Android Studio 1.0
昨天看见 Android Studio 1.0 正式版本发布了:心里挺高兴的. 算是忠实用户了吧,从去年开发者大会一开始出现 AS 后就开始使用了:也是从那时开始就基本没有用过 Eclipse 了:一 ...
- [Android] 环境配置之基础开发环境(SDK/Android Studio)(转)
[Android] 环境配置之基础开发环境(SDK/Android Studio) 博客: blog.csdn.net/qiujuer 网站: www.qiujuer.net 开源库: Geniu ...
- cocos2dx - android环境配置及编译
接上一节内容:cocos2dx - 伤害实现 本节主要讲Android环境配置及编译 在第一节中setup.py的配置里,我们没有配置对应的ndk,sdk,ant的路径,在这里需要先配置好环境变量. ...
- 【React Native开发】React Native For Android环境配置以及第一个实例(1)
年9月15日也公布了ReactNative for Android,尽管Android版本号的项目公布比較迟,可是也没有阻挡了广大开发人员的热情.能够这样讲在2015年移动平台市场上有两个方向技术研究 ...
- [Android] 环境配置之Android Studio开发NDK
分类:Android环境搭建 (14351) (20) ========================================================作者:qiujuer博客:bl ...
- Android环境配置(Eclipse全开发环境下载)
Android环境配置 前期准备 Android环境的Eclipse: 网站链接:https://www.runoob.com/w3cnote/android-tutorial-eclipse-adt ...
- Android环境配置之正式版AndroidStudio1.0
昨天看见 Android Studio 1.0 正式版本发布了:心里挺高兴的. 算是忠实用户了吧,从去年开发者大会一开始出现 AS 后就开始使用了:也是从那时开始就基本没有用过 Eclipse 了:一 ...
- OpenCV On Android环境配置最新&最全指南(Android Studio篇)
本文是从本人简书上搬运而来,属本人原创,如有转载,请注明出处:http://www.jianshu.com/p/6e16c0429044 简介 本文是<OpenCV On Android环境配置 ...
- OpenCV On Android环境配置最新&最全指南(Eclipse篇)
简介 本教程是经过本人多次踩坑,并参考网上众多OpenCV On Android的配置教程总结而来,尽希望能帮助学习移动图像处理的朋友们少走弯路.这也是本人第一次在简书上发布文章,如有不足,希望各位d ...
随机推荐
- types.MethodType
http://stackoverflow.com/questions/972/adding-a-method-to-an-existing-object-instance 532down voteac ...
- ZooKeeper3.4.6配置
添加环境变量 #ZooKeeper VARIABLES START export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.6 export PATH=$PATH ...
- Junit4
package test.code; import static org.junit.Assert.*; import org.junit.Test; import code.MyCode; publ ...
- 简洁之美 -约瑟夫环的python 解法
问题描述: 约瑟夫环问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到k的那个人出列:他的下一个人又从1开始报数,数到k的那个人又出列:依此规律重复下 ...
- DFS
HDU1181 http://acm.hdu.edu.cn/showproblem.php?pid=1181 #include<stdio.h> #include<algorith ...
- Loadrunner性能指标分析
Transactions(用户事务分析)----用户事务分析是站在用户角度进行的基础性能分析. Transation Sunmmary(事务综述)----对事务进行综合分析是性能分析的第一步,通过分析 ...
- JDK源码分析之集合02ArrayList
一.前言 有了前一篇对集合类的概述,我们知道ArrayList是属于Collection类系中的一个具体实现类,其特点是长度可以动态改变,集合内部使用数组保存元素.下面我们对源码进行分析. 二.Arr ...
- Flex AdvancedDatagrid使用
首先我先来看下利用Advanced Datagrid做出的效果,然后我们再对其中所利用的知识进行讲解,效果图如下: 我们来看下这个效果我们所用到的关于Advanced Datagrid的相关知识: 一 ...
- ORACLE 导空表结构
exp username/psd@sid file='E:\xx.dmp' tables=(xxx_%) ROWS=N 以下代码没什么用,我就乱写 set oracle_sid=ora11gsqlpl ...
- [drp 5] pageModel的建立,实现分页查询
导读:之前做的分页,一直都是用的easy--UI分页,然后没有系统的整理过,就是知道传几个参数,然后云云.这次,从头到尾总结一下,了了我的这桩心愿.人事系统的重定向工作,一直刺激着我一定要总结总结这个 ...