0

我使用 Sencha Touch 2.1.0 开发了一个应用程序。我的应用程序在模拟器上成功运行,但是当我尝试在任何设备上启动时(我尝试了四种不同的设备),默认的 Sencha 闪屏并没有消失,应用程序也无法开始工作。我从 log-cat 中发现的错误是:

12-27 18:39:21.580:E/Web 控制台(23413):未捕获错误:[Ext.Loader] 加载 'file:///android_asset/touch/src/event/Dispatcher.js' 失败,请验证文件存在于 file:///android_asset/touch/sencha-touch.js:8321
12-27 18:39:21.580: E/Web Console(23413): Uncaught Error: [Ext.Loader] Failed loading 'file:/ //android_asset/touch/src/event/publisher/Dom.js',请验证文件是否存在于file:///android_asset/touch/sencha-touch.js:8321

4

2 回答 2

0

看起来您正在使用应用程序的开发版本,它在每个类中单独加载。我总是使用 sencha 的构建工具,并在进入设备之前构建“测试”或“生产”。如果从项目根目录调用构建测试的调用是:

// this figures out all your project dependencies
sencha app resolve http://localhost/ref/to/your/project/index.html dependencies.json
// this will build your project for testing, which does not remove white 
// space or comments, and does not generate cache.manifest files for HTML5 caching 
sencha app build -e testing

构建目标目录在 app.json 文件中配置,并且会有一些类似于以下内容的行:

"buildPaths": {
    "testing": "../builds/testing",
    "production": "../builds/production",
    "package": "../builds/package",
    "native": "../builds/native"
},

我的开发流程是在浏览器中构建,然后在我需要在设备上进行测试时构建以进行“测试”。这是我从应用程序根目录运行的 build.sh 脚本。此脚本生成我所有的依赖项,构建测试(基于我的 app.json buildPaths 参数),将目录更改为一个名为“builds/android/”的目录,我在其中保存我的 android (phoneGap) 项目,然后将项目构建到设备我已通过 USB 连接:

sencha app resolve http://localhost/careathand/front/mobile/dev/index.html dependencies.json
sencha app build -e testing

# build the application on the device with cordova
cd ../builds/android/
./cordova/debug
./cordova/log | grep Cordova

现在我要做的就是从我的项目根目录运行以下命令:

sh build.sh

关于答案的一轮,但希望这有助于简化您的开发流程并最终解决问题。

于 2013-01-09T19:24:44.580 回答
0
$ sencha package run packager.json

似乎不适用于 Android 4.x。

你可以试试这个吗?

$ sencha app build native
$ adb install build/[yourProject]/[yourAppName].apk
于 2013-04-11T15:12:29.760 回答