引言:
初次接触Sench Touch的朋友应该有很大迷茫在于是CMD的使用,以前资料少不好找,现在百度 谷歌一搜一大把,在此读者如果认为是本文是copy来的 ,那么请移步其他站点,素质做人,纯手打文章。谢谢配合,废话不说 直接进入正题。
首次使用SenchaTouch Tool先移步Sencha 官方网站下载CMD工具并安装及Sencha Touch源码包并解压:
SDK TOOL地址:http://www.sencha.com/products/sencha-cmd/download/sencha-cmd-3.0.2/windows安装成功后
输入命令:sencha
SenchaTouch源码包:http://www.sencha.com/products/touch/download/(以下简称ST)解压后
ps: compass如果报错的话记得装ruby
1.首先安装RailsInstaller.exe 地址(http://railsftw.bryanbibat.net/)
2.安装 compass:如下图
输入命令:gem install compass
以上工作做好后,进入本文正题。
1.调出cmd命令
2.命令行打开ST解压后的位置。(我解压后放在E:\Ext\sencha-touch-2.1.1-gpl,读者各自对应解压目录)
3.使用命令生成ST的项目
使用命令是:sencha generate app MyApp ../../www
使用generate 命令生成ST App 。
MyApp为项目名称,../../www 为项目的存放位置。因为使用../../所以项目的位置应该在E目录下的www文件夹
到此步我们的项目就生成好了(ps:文件夹的具体的作用在本文中就不赘述)
(PS:使用sdk command v2.x的朋友可能会问需不需要为app创建一个jsb文件。在此提醒下在新的cmd 3.0中不需要生成jsb3文件)
注:如果要看到项目的运行效果 ,你需要将项目部署到web服务器上,(如tomcat或者iis),否则直接打开index.html你在浏览器控制台将会看到
接下来到最关心的一个环境,如果这个程序只能通过浏览器地址去访问,那么它的发展也不会如此迅猛。还有一个最重要的是可以将这个程序打包发布。让一个用web语言编写的程序当成本地应用一样安装。
目前打包的方式有很多:
如:
1.通过eclipse的android插件,但该种方式比较烦琐。想了解的朋友可以看:http://my.oschina.net/victorHomePage/blog/80096
2.在线打包,http://www.html5mobi.com/discussion/167/phonegap-web-android
3.使用命令行打包:也就是在下面的将会讲解的部分。
一.当程序准备发布时,必须在Release模式下使用密钥来为apk文件签名。有以下两种方式可以做到:
1. 命令行中使用Keytool和Jarsigner。
这个方法中,首先需要编译出一个未签名的apk。然后使用Jarsigner(或类似的工具),用密钥为apk手动签名。如果没有合适的密钥,可以运行Keytool来手动生成自己的keystore/key。
2. 使用ADT导出向导。
如果使用Eclipse/ADT插件进行开发,可以使用导出向导来编译程序,生成密钥(如果需要),并为apk签名,所有这些操作都在导出向导中。一旦程序签名了,别忘了运行zipalign来为apk进行额外的优化。
以下介绍使用KeyTool方式生成的keystore
参考文章:http://my.oschina.net/victorHomePage/blog/109638
做好上述步骤之后,将生成的keystore文件复制出来,(我将它放到了app的目录)。
二.编写程序目录中的packager.json文件
以下给出DEBUG模式跟Release模式两种配置方式,在打开packager.json的文件中会有对每个参数的可选参数。
DEBUG模式
{ "applicationName":"程序名称", "applicationId":"程序id", "iconName":"icon.png", "versionString":"系统版本号", "outputPath":"打包后输出的路径", "configuration":"发布的模式", "platform":"支持的平台", "deviceType":"Universal", "certificatePath":"签名证书的路径", "certificateAlias":"android.keystore", "certificatePassword":"123456", "sdkPath":"AndroidSDK目录", "orientations": [ "portrait", "landscapeLeft", "landscapeRight", "portraitUpsideDown" ], "permissions":[ "INTERNET", "ACCESS_NETWORK_STATE", "CAMERA", "VIBRATE", "ACCESS_FINE_LOCATION",开源中国 - 找到您想要的开源软件,分享和交流 "ACCESS_COARSE_LOCATION", "CALL_PHONE"] }
Release模式只需要将参数改为configuration:“Release”
(ps:路径不要用中文)
编写完了packager.json的文件后,进入打包阶段。
使用命令:sencha run packager.json
编译时间视系统硬件而定,请耐心等待。