【问题标题】:Deploying a Worklight app onto the Android Emulator is giving an error将 Worklight 应用程序部署到 Android 模拟器上会出现错误
【发布时间】:2012-08-14 07:40:21
【问题描述】:

我正在尝试使用 Worklight 将应用程序部署到 Android。

我之前看到过与此帖子类似的错误,但没有给出任何具体答案。当我在 Android 模拟器上启动应用程序时触发错误,就是这样:

08-13 08:22:26.262:E/Web 控制台(347):TypeError:表达式“cordova.exec”未定义的结果不是函数。在 file:///data/data/com.Test/files/www/default/wlclient/js/wlgap.android.js:697

现在,我相信这个 js 文件是在运行时注入的,因此我不确定如何以及在哪里编辑它。

后来抛出的错误是这样的:

08-13 08:22:30.982:E/Web 控制台(347):TypeError:表达式“h.body()”未定义的结果不是对象。在 file:///data/data/com.Test/files/www/default/dojo/mobile-ui-layer.js:257

所以问题在于 Dojo 和/或 Cordova-PhoneGap。问题是,我如何绕过它并让我的应用正常运行?

我相信这可能是 wlCommonInit 的问题,因为在调用它之前它不能有任何东西,但是,我在它遇到它之前解析 Dojo。如果我在遇到此问题之前不解析 Dojo,则会收到大量 Dojo 解析错误。

非常感谢任何帮助。

谢谢!

【问题讨论】:

标签: android android-emulator dojo cordova ibm-mobilefirst


【解决方案1】:

你可以在android原生项目中看到wlgap.android.js。 您应该将 Dojo 代码放在 wlCommonInit(或 wlEnvInit)中,并且不需要检查 dom 或设备是否准备就绪(Worklight 运行的进程会在触发 wlCommonInit 之前对其进行测试)。

【讨论】:

    【解决方案2】:

    确保您的所有 Dojo 解析都在 wlCommonInit 中完成 - 这意味着将加载时解析设置为 false 并在 wlCommonInit 中以编程方式进行。

    【讨论】:

      猜你喜欢
      • 2021-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-03
      • 2021-02-14
      相关资源
      最近更新 更多