需要的环境说明:
安装了:SenchaCmd-3.1.0.192-windows.exe 和 jdk6或者jdk7
senchaCmd就是用来build的。 jdk是用来压缩合并文件的(具体是用yuicompressor-2.4.7.jar,这个不用找它去安装,只要有jdk环境就行了。)
执行命令:
sencha generate app 项目名称 生成路径
例如:cmd下:
D:\Camnpr\sencha-touch-2.1.1-gpl\touch-2.1.1> sencha generate app ProjectName D:\Camnpr\ProjectDir
sencha create jsb -a index.html -p app.jsb3
sencha build -p app.jsb3 -d ./
build的三种方式:production 、 testing 、 package
>sencha app build production //打包手机端,电脑端都能用的形式
>sencha app build testing //打包测试版
>sencha app build package //打包到手机端
sencha package run package.json //主要是生成Android或iphone的APK
sencha app build -e native
问题总结:
1. 老的sdk2.0 已经不能用了,否则会出现莫名奇妙的问题,具体错误log我没记,反正别用2.0.0sdk就是了
2. 老的创建的app使用新的3.0编译会报错
[ERR] Please ensure this command was executed from a valid application
directory
[ERR] Unable to locate 'app.dir' config property from sencha.cfg
最好新建一个app,把代码移进去或者upgrade一下
我用的前者
3. 新建的app直接build也会报错
[ERR] com.sencha.exceptions.BasicException: The following error occurr
ed while executing this line:
D:\PHPnow\htdocs\testapp\.sencha\app\build-impl.xml:109: The following error occ
urred while executing this line:
jar:file:/C:/Users/yibo/bin/Sencha/Cmd/3.0.2.288/sencha.jar!/com/sencha/ant/antl
ib.xml:364: shellscript returned: 1
解决方法: 在touch/cmd/sencha.cfg头部中加入skip.sass=1
4. 在整个App中,尽量不要用全局变量。这样在build后的项目,运行的时候会报错-变量未定义。
解决方法:可以把变量放到app文件夹的控制器controller的main.js的config里,自定义属性的方法。然后在读取。
可以通过:this.config.CamnprParams
那么如果在其它js文件的地方调用呢?
代码:CamnprCom.controller.Main.prototype.CamnprParams // CamnprCom是你的
Ext.application({
name: 'CamnprCom',...
未完待续...