使用 Sencha Cmd5 从 Sencha Touch 生成 Android apk,无错误,无输出
Posted
技术标签:
【中文标题】使用 Sencha Cmd5 从 Sencha Touch 生成 Android apk,无错误,无输出【英文标题】:Generate Android apk from Sencha Touch using Sencha Cmd5 , No error , No output 【发布时间】:2014-09-10 06:34:35 【问题描述】:我尝试使用 sencha cmd 4.0 从我的 sencha touch 项目中生成 android apk,
不幸的是,我遇到了错误 stbuild exited with non zero error code:3 ,因为我没有得到 stbuild 在他们的 sencha 的官方网站或互联网上给出的这个错误代码的任何意义,我有计划使用 sencha cmd 5.0.1.231 ,如您所知,Sencha Cmd 5.0 stbuild 不再支持。
我已经卸载并下载了Sencha Cmd v5.0.1.231,sencha sencha touch2.4.0-commercial并安装了ruby 1.9.3p545 并安装 sass 和 compass 和 ant 并安装 jdk 1.7 并在我的 windows 7 中成功设置 classpath 、 path 64位机。
PS:我面临的问题是我无法使用 sencha cmd 从我的 sencha touch 项目中生成 android apk 文件,实际上它并没有传达任何错误。
我尝试过的步骤
-
提取 sencha touch 2.4.0 -commerical 并使用 sencha generate 命令生成应用程序并创建 sencha tocuh 项目,然后我已经编写了我的模型、视图、控制器和存储
2) 然后执行以下命令刷新应用 sencha 应用刷新
4) 然后我使用传统的 keytool 命令创建了密钥库
5) 现在我更新了 packager.json 的内容,并在其中提供了所需的信息,例如证书路径、密码和别名以及 android sdk 路径。
6) 之后我执行了以下命令 sencha 应用构建原生
此命令不会引发任何错误,但我没有在我的项目文件夹中找到 apk 文件
完整的 stact 跟踪:
D:\myapp>sencha app build native
Sencha Cmd v5.0.1.231
[INF] Processing Build Descriptor : default
[INF] Loading app json manifest...
[INF] Concatenating output to file D:myapp\build\temp\production\App\sencha-compiler\cmd-packages.js
[INF] writing content to D:myapp\bootstrap.js
[INF] appending content to D:myapp\bootstrap.js
[INF] appending content to D:myapp\bootstrap.js
[INF] appending content to D:myapp\bootstrap.js
[INF] Appending content to D:myapp/bootstrap.json
[INF] Concatenating output to file D:\myapp\native\app.js
[INF] merging resources into D:\myapp\native\resources
[INF] merged 0 resources into D:\myapp\resources
[INF] merging resources into D:\myapp\native\resources
[INF] merged 0 resources into D:\myapp\native\resources
[INF] executing compass using system installed ruby runtime
identical ../css/app.css
[INF] Copying page resources to D:\myapp\native
[INF] Generating file deltas to D:\myapp/deltas
[INF] Writing content to D:\myapp\native/app.json
[INF] Writing content to D:\myapp\native/microloader.js
[INF] Appending content to D:\myapp/microloader.js
[INF] Building output markup to D:\myapp\native/index.html
[INF] Writing content to D:\myapp\native/index.html
[INF] generating cache manifest to D:\myapp\native/cache.appcache
D:\myapp>
我的问题是 Cordova 或 Phonegap 是强制使用 sencha cmd 5 从 sencha touch 生成 android apk,因为我没有使用 Cordova 或 Phonegap 使用 sencha cmd 4 从示例 Kicthensink sencha touch 项目生成 android apk。可以看我之前的问题Unable to generate android skeleton project from sencha touch because of stbuild exited with non-zero code : 7。
【问题讨论】:
【参考方案1】:我终于解决了这个问题。
在 Sencha Cmd5.x 版本中不支持生成 apk ,我们必须使用 phonegap 或 cordova。
一个特别的感谢 loiane,她在她的博客 http://www.loiane.com/2013/06/integrando-sencha-touch-com-phonegap-hello-world/ 中明确表示,我们需要发布 sencha app build 而不是 sencha app build native .
之后你可以在你的sencha项目的build目录下看到production文件夹,在那个App文件夹里面(即应用程序的名称,在我的例子中是 app),复制文件并粘贴 assets 目录下 www 目录中的文件> 在我们的 phone gap project 目录中,记住你不应该从 www 目录中删除 cordova.js 文件。
然后运行您的 Phonegap 应用程序。
【讨论】:
以上是关于使用 Sencha Cmd5 从 Sencha Touch 生成 Android apk,无错误,无输出的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 sencha cmd 3.1.2.342 从 Sencha touch 项目生成 android apk
如何使用 sencha-touch.jsb3 构建 Sencha Touch?
将 Sencha Architect 项目从 Sencha Touch v2.0.x 更新到 Sencha Touch 2.1.x