使用sencha touch来开发跨平台app项目

第一步、部署环境

下载sencha cmdtouch sdkandroid sdk

https://www.sencha.com/products/sencha-cmd/ 下载sencha cmd


使用sencha touch来开发跨平台app项目


https://www.sencha.com/products/touch/download/ 下载touch sdk开发包,touch开发包是ExtJS的移动精简版,少了不少的控件库;下载时需要添加邮件什么的,然后去邮箱里获取下载链接;


使用sencha touch来开发跨平台app项目


https://developer.android.com/studio/index.html(需要*)下载android sdk,而且必须androidtools里要包含templates/gradle,因为sencha在构建native app时需要用到gradle

gradle是一个基于Apache AntApache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。


使用sencha touch来开发跨平台app项目


第二步、设定环境变量


设定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试试,

如果这样子:

使用sencha touch来开发跨平台app项目

….还有一堆命令行帮助。


OK了!!!!!


第三步、创建工程目录


创建一个工程目录,例如MyApp

例如这样子:mkdir MyApp


第四步、创建Sencha工程


创建sencha项目,创建时引入touch sdk,并指定工程目录

例如:sencha -sdk /Users/Shared/touch-2.4.2 generate app MyApp ./

使用sencha touch来开发跨平台app项目

目录中的内容大概如下:

使用sencha touch来开发跨平台app项目


第五步、测试构建


例如执行:sencha app build testing

结果应该如下:


使用sencha touch来开发跨平台app项目

这样子就对了


第六步、加入AndroidiOS平台


使用cordova加入AndroidiOS平台

执行cordova初始化:sencha cordova init com.eqiyu.MyApp MyApp

结果应该如下:

使用sencha touch来开发跨平台app项目

那么目录中会加入cordova工程,如下图:

使用sencha touch来开发跨平台app项目

修改app.json,引入androidios,去掉"platforms": "ios android”,行的注释

使用sencha touch来开发跨平台app项目

如果不加入平台,也就是不去掉"platforms": "ios android”,行的注释直接第七步构建工程,会出现以下错误:

使用sencha touch来开发跨平台app项目

并输出错误日志到sencha-error-XXXXXXXX.log


第七步、构建APPcordova工程


完成上述步骤后,需要构建生成两个平台的app项目

构建之前,cordova目录下的platforms目录里面是空的

执行:sencha app build native (其实这步骤就是cordovaadd platform android ios 命令一样,不过是全工程的构建)

正确的运行结果大概如下:

使用sencha touch来开发跨平台app项目

构建时Cordova加入平台的时候可能需要点时间。


生成iosapp

使用sencha touch来开发跨平台app项目

生成Androidapk

使用sencha touch来开发跨平台app项目


以上如果没有问题,将在cordova目录生成两个平台的app代码,并可以编译可以运行的appapkdebug版本;