我正在开发一个移动应用程序,将 Worklight(混合应用程序)与 Dojo Mobile 结合使用。它有 3 个视图,每个视图都有一个显示一些硬编码数据的列表。
当我在移动浏览器模拟器中运行它时,它可以正常工作(“作为公共资源预览”和“Android”视图)。加载了所有 Dojo 小部件。
当我在物理 android 手机上运行它时,它似乎只适用于 android 版本 2.xx,但它不适用于 android 版本 4.xx 它不加载 dojo 移动小部件。它在一个简单的 html 页面中显示了三个视图。
日志中显示的消息如下:
11-29 19:49:44.081: D/DemoApp(6088): wlclient init started
11-29 19:49:44.091: D/DemoApp(6088): Read cookies: null
11-29 19:49:44.091: D/DemoApp(6088): CookieMgr read cookies: {}
11-29 19:49:44.231: D/DemoApp(6088): before: app init onSuccess
11-29 19:49:44.252: D/DemoApp(6088): after: app init onSuccess
11-29 19:49:44.252: D/DemoApp(6088): added onPause event handler
11-29 19:49:44.252: D/DemoApp(6088): wlclient init success
11-29 19:49:45.703: D/chromium(6088): Unknown chromium error: -6
11-29 19:49:45.703: D/chromium(6088): Unknown chromium error: -6
11-29 19:49:45.973: D/CordovaLog(6088): Error: scriptError
11-29 19:49:45.973: E/Web Console(6088): Error: scriptError at file:///data/data/com.DemoApp/files/www/default/dojo/dojo.js:21
11-29 19:49:45.983: D/CordovaLog(6088): Error: scriptError
11-29 19:49:45.983: E/Web Console(6088): Error: scriptError at file:///data/data/com.DemoApp/files/www/default/dojo/dojo.js:21
11-29 19:50:07.554: D/CordovaWebView(6088): The current URL is: file:///data/data/com.DemoApp/files/www/default/DemoApp.html
11-29 19:50:07.554: D/CordovaWebView(6088): The URL at item 0 is:file:///data/data/com.DemoApp/files/www/default/DemoApp.html
在谷歌上寻找“dojo.js:21”错误我找到了一些可能的解决方案:
- 确保 www 文件夹下有所有 dojo 所需的文件...
- 在项目构建之前取消选中 Dojo 库请求控制台中的“提供库资源”选项...
- 将 www/dojo/nls/ 中的 core-web-layer_ROOT.js 和 mobile-ui-layer_ROOT.js 替换为 toolkit/dojo/dojo/nls 中的那些
- 手动触发dojo解析器...
但这些解决方案都没有奏效。
我尝试使用 android api 8、15 和 18 构建应用程序。总是得到相同的结果。
我正在与:
- 工作灯版本:6.0.0.20130926-1933
- 用于 Worklight 的 Dojo Toolkit SDK 1.8.1
- Android 开发工具包版本:22.3.0.v201310242005-887826
最近我用最新版本升级了 Worklight:
- 工作灯版本:6.1.0.20131126-0630
- 用于 Worklight 的 Dojo Toolkit SDK 1.9.1
- Android 开发工具包版本:22.3.0.v201310242005-887826
任何帮助将不胜感激。
谢谢!!