使用sencha touch来开发跨平台app项目
第一步、部署环境
下载sencha cmd和touch sdk和android sdk
去https://www.sencha.com/products/sencha-cmd/ 下载sencha cmd
去https://www.sencha.com/products/touch/download/ 下载touch sdk开发包,touch开发包是ExtJS的移动精简版,少了不少的控件库;下载时需要添加邮件什么的,然后去邮箱里获取下载链接;
去https://developer.android.com/studio/index.html(需要*)下载android sdk,而且必须android的tools里要包含templates/gradle,因为sencha在构建native app时需要用到gradle。
gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。
第二步、设定环境变量
设定export ANDROID_HOME=
export ANDROID_HOME="/Users/Shared/android-sdk-macosx”,这里的/Users/Shared,是android sdk的目录;
export PATH="/Users/jingangbao/bin/Sencha/Cmd/6.5.2/“,加入到你的PATH中;
然后运行一下sencha试试,
如果这样子:
….还有一堆命令行帮助。
就OK了!!!!!
第三步、创建工程目录
创建一个工程目录,例如MyApp
例如这样子:mkdir MyApp
第四步、创建Sencha工程
创建sencha项目,创建时引入touch sdk,并指定工程目录
例如:sencha -sdk /Users/Shared/touch-2.4.2 generate app MyApp ./
目录中的内容大概如下:
第五步、测试构建
例如执行:sencha app build testing
结果应该如下:
这样子就对了
第六步、加入Android和iOS平台
使用cordova加入Android和iOS平台
执行cordova初始化:sencha cordova init com.eqiyu.MyApp MyApp
结果应该如下:
那么目录中会加入cordova工程,如下图:
修改app.json,引入android和ios,去掉"platforms": "ios android”,行的注释
如果不加入平台,也就是不去掉"platforms": "ios android”,行的注释直接第七步构建工程,会出现以下错误:
并输出错误日志到sencha-error-XXXXXXXX.log
第七步、构建APP的cordova工程
完成上述步骤后,需要构建生成两个平台的app项目
构建之前,cordova目录下的platforms目录里面是空的
执行:sencha app build native (其实这步骤就是cordova的add platform android ios 命令一样,不过是全工程的构建)
正确的运行结果大概如下:
构建时Cordova加入平台的时候可能需要点时间。
生成ios的app
生成Android的apk
以上如果没有问题,将在cordova目录生成两个平台的app代码,并可以编译可以运行的app和apk的debug版本;