【问题标题】:crash on android with phonegap and jquery mobile使用phonegap和jquery mobile在android上崩溃
【发布时间】:2011-12-28 11:17:18
【问题描述】:

我正在为 Android 开发一个 HTML5 应用程序。 通过应用程序的所有页面都很好,但是当涉及到应用程序的特定页面时它会崩溃。

崩溃仅发生在 Samsung Galaxy Tab 10.1 (Android 3.1) 中。早些时候。我用 Dell Streak 5" (Android 2.3.2) 和 ZTE-Blade (Android 2.2) 进行了测试,没有任何问题。

在那个页面中,有一个 AJAX 调用,然后创建一个动态的 HTML 表单元素并使用 phonegap 的地理位置。

最有趣的部分是,当我在 Eclipse 中查看 LogCat 时,我看不到任何与我的应用程序相关的错误。但是一些关于设备的转储和我的应用程序崩溃。

注意:使用 jquery mobile 1.0 RC2,phonegap 1.2.0(用 1.1.0 和 1.0.0 测试)

这是日志的一部分:

I/DEBUG(22434): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

I/DEBUG(22434): Build fingerprint: 'samsung/GT-P7500/GT-P7500:3.1/HMJ37/XWKGB:user/release-keys'

I/DEBUG(22434): pid: 27352, tid: 27361  >>> com.test.forms <<<

I/DEBUG(22434): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0086c000

I/DEBUG(22434):  r0 008673e0  r1 0086bff4  r2 0000037c  r3 00000000

I/DEBUG(22434):  r4 00000000  r5 00000000  r6 00000028  r7 00000000

I/DEBUG(22434):  r8 00000000  r9 00000000  10 00000000  fp 00000000

I/DEBUG(22434):  ip 0086c000  sp 5c3db7f0  lr a8291663  pc aff0c9a8  cpsr 20000010

E/DBG_WSS_DM(25618): Warning!!! [wssTelephonyData.java Line:167] getInstance PHONE_TYPE_NONE

E/(234): RIL_onMultiClientUnsolicitedResponse:

E/(234): unsupported multiclient unsolicited response code 1002

E/(234): RIL_onMultiClientUnsolicitedResponse:

E/(234): unsupported multiclient unsolicited response code 1002

E/DBG_WSS_DM(25618): Warning!!! [wssTelephonyData.java Line:167] getInstance PHONE_TYPE_NONE

I/System.out(385): [INFO:404673809]: LogSource: Running flush

I/System.out(385): [INFO:404673810]: LogSource: Sending payload [bytes=388]

I/dumpstate(27428): done

I/WindowManager(290): WIN DEATH: Window{40d93e38 com.test.forms/com.test.forms.FormsActivity paused=false}

I/ActivityManager(290): Process com.test.forms (pid 27352) has died.

【问题讨论】:

    标签: android jquery-mobile cordova


    【解决方案1】:
    Warning!!! [wssTelephonyData.java Line:167] getInstance PHONE_TYPE_NONE
    

    检查您的日志这一行让我认为它只出现在 Galaxy Tab 10.1 上的原因是因为它没有电话功能,这就是它以一种奇怪的方式使应用程序崩溃的原因。Phonegap 很好,但仍然有一些恼人的错误,这是很难解决的。 正如您提到的,您使用的其他设备都具有电话功能,所以我认为这就是原因。

    【讨论】:

    • 嗯,谢谢,但它只在特定页面崩溃,而不是在应用程序的所有页面。此外,我不使用任何与电话有关的东西。是的,Galaxy 不是手机,所以它必须炸掉应用程序的每一页或首页,而不是特定页面。
    • 好吧,就像我之前说的那样,Phonegap 仍然有点问题,并且会给您带来困难的调试时间崩溃
    • 该页面中唯一与 phonegap 相关的是地理位置。即使我评论地理位置代码块,它也会崩溃。除了通过 jqmobile 的纯 html 之外,没有任何其他特殊的东西。该页面中有一个 ajax 调用,我从服务器获取一些数据以获取该页面内的 html Web 表单。我即时创建文本框、组合框等。仅此而已。实际上我认为发生错误是因为 jqmobile 或 phonegap 框架无法处理这么多控件(即 20 dorpdownlist),所以它崩溃了,如果我在 ajax 调用后创建较少的 html 表单控件它可以工作,但是当有很多控件时它崩溃.
    • 如果你这么说那么它可能是 JQM 的框架相关崩溃原因。你是否尝试过使用其他框架,如 Sencha,它对你的目的也很好,真的很好。
    • 不,我没有尝试,但我知道它们。切换到煎茶需要这么长时间吗?顺便说一句,在 Opera、Chrome、Firefox 等 PC 网络浏览器中没有这样的错误......
    猜你喜欢
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    • 2013-06-26
    • 1970-01-01
    相关资源
    最近更新 更多