展会信息港展会大全

android2.3上用WebView组件js和java相互调用报错
来源:互联网   发布日期:2015-10-02 21:41:51   浏览:1533次  

导读:Android2.3中Webkit引擎导致VM崩溃的问题Java代码WARN/dalvikvm(429): JNI WARNING: jarray 0x405986b0 poin...

Android2.3中Webkit引擎导致VM崩溃的问题

Java代码

WARN/dalvikvm(429): JNI WARNING: jarray 0x405986b0 points to non-array object (Ljava/lang/String;)

INFO/dalvikvm(429): "WebViewCoreThread" prio=5 tid=9 NATIVE

INFO/dalvikvm(429):| group="main" sCount=0 dsCount=0 obj=0x405346e0 self=0x25b558

INFO/dalvikvm(429):| sysTid=563 nice=0 sched=0/0 cgrp=default handle=2866504

INFO/dalvikvm(429):| schedstat=( 496679324 479902011 97 )

INFO/dalvikvm(429):at android.webkit.LoadListener.nativeFinished(Native Method)

INFO/dalvikvm(429):at android.webkit.LoadListener.nativeFinished(Native Method)

INFO/dalvikvm(429):at android.webkit.LoadListener.tearDown(LoadListener.java:1200)

INFO/dalvikvm(429):at android.webkit.LoadListener.handleEndData(LoadListener.java:721)

INFO/dalvikvm(429):at android.webkit.LoadListener.handleMessage(LoadListener.java:219)

INFO/dalvikvm(429):at android.os.Handler.dispatchMessage(Handler.java:99)

INFO/dalvikvm(429):at android.os.Looper.loop(Looper.java:123)

INFO/dalvikvm(429):at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:629)

INFO/dalvikvm(429):at java.lang.Thread.run(Thread.java:1019)

ERROR/dalvikvm(429): VM aborting

INFO/DEBUG(31): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

INFO/DEBUG(31): Build fingerprint: 'generic/sdk/generic:2.3.1/GSI11/93351:eng/test-keys'

INFO/DEBUG(31): pid: 429, tid: 563>>> org.mdx <<<

INFO/DEBUG(31): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadd00d

INFO/DEBUG(31):r0 fffffebcr1 deadd00dr2 00000026r3 00000000

INFO/DEBUG(31):r4 81da45c8r5 405986b0r6 81d859ecr7 002105f0

INFO/DEBUG(31):r8 4456bb58r9 43db9ecc10 43db9eb4fp 41edd82c

INFO/DEBUG(31):ip 81da4728sp 4456b4c8lr afd19375pc 81d45a02cpsr 20000030

INFO/DEBUG(31):#00pc 00045a02/system/lib/libdvm.so

INFO/DEBUG(31):#01pc 000376fc/system/lib/libdvm.so

INFO/DEBUG(31):#02pc 000399c4/system/lib/libdvm.so

INFO/DEBUG(31):#03pc 0003a4a0/system/lib/libdvm.so

INFO/DEBUG(31):#04pc 0032b6e6/system/lib/libwebcore.so

INFO/DEBUG(31):#05pc 002a4db4/system/lib/libwebcore.so

INFO/DEBUG(31):#06pc 001a6146/system/lib/libwebcore.so

INFO/DEBUG(31):#07pc 002a5880/system/lib/libwebcore.so

INFO/DEBUG(31):#08pc 00359e5e/system/lib/libwebcore.so

INFO/DEBUG(31):#09pc 0035d1b6/system/lib/libwebcore.so

INFO/DEBUG(31):#10pc 0036b0a0/system/lib/libwebcore.so

INFO/DEBUG(31):#11pc 003627d8/system/lib/libwebcore.so

INFO/DEBUG(31):#12pc 0029fb34/system/lib/libwebcore.so

INFO/DEBUG(31):#13pc 0023368e/system/lib/libwebcore.so

INFO/DEBUG(31):#14pc 000f5276/system/lib/libwebcore.so

INFO/DEBUG(31):#15pc 000f6ad8/system/lib/libwebcore.so

INFO/DEBUG(31):#16pc 0022a3ea/system/lib/libwebcore.so

INFO/DEBUG(31):#17pc 0022af34/system/lib/libwebcore.so

INFO/DEBUG(31):#18pc 000e2256/system/lib/libwebcore.so

INFO/DEBUG(31):#19pc 000e3ab2/system/lib/libwebcore.so

INFO/DEBUG(31):#20pc 000e3b92/system/lib/libwebcore.so

INFO/DEBUG(31):#21pc 0022add8/system/lib/libwebcore.so

INFO/DEBUG(31):#22pc 0026ee82/system/lib/libwebcore.so

INFO/DEBUG(31):#23pc 000d13ec/system/lib/libwebcore.so

INFO/DEBUG(31):#24pc 000d15cc/system/lib/libwebcore.so

INFO/DEBUG(31):#25pc 00224446/system/lib/libwebcore.so

INFO/DEBUG(31):#26pc 000e2676/system/lib/libwebcore.so

INFO/DEBUG(31):#27pc 000e2696/system/lib/libwebcore.so

INFO/DEBUG(31):#28pc 002719e2/system/lib/libwebcore.so

INFO/DEBUG(31):#29pc 000e39d6/system/lib/libwebcore.so

INFO/DEBUG(31):#30pc 00272d7c/system/lib/libwebcore.so

INFO/DEBUG(31):#31pc 000eac5e/system/lib/libwebcore.so

INFO/DEBUG(31): code around pc:

INFO/DEBUG(31): 81d459e0 447a4479 ed0cf7d1 20004c09 ee34f7d1

INFO/DEBUG(31): 81d459f0 447c4808 6bdb5823 d0002b00 49064798

INFO/DEBUG(31): 81d45a00 700a2226 eea0f7d1 0004361f 000451dd

INFO/DEBUG(31): 81d45a10 0005ebd2 fffffebc deadd00d b510b40e

INFO/DEBUG(31): 81d45a20 4c0a4b09 447bb083 aa05591b 6b5bca02

INFO/DEBUG(31): code around lr:

INFO/DEBUG(31): afd19354 b0834a0d 589c447b 26009001 686768a5

INFO/DEBUG(31): afd19364 220ce008 2b005eab 1c28d003 47889901

INFO/DEBUG(31): afd19374 35544306 d5f43f01 2c006824 b003d1ee

INFO/DEBUG(31): afd19384 bdf01c30 000281a8 ffffff88 1c0fb5f0

INFO/DEBUG(31): afd19394 43551c3d a904b087 1c16ac01 604d9004

INFO/DEBUG(31): stack:

INFO/DEBUG(31):4456b48800000015

INFO/DEBUG(31):4456b48cafd18407/system/lib/libc.so

INFO/DEBUG(31):4456b490afd4270c/system/lib/libc.so

INFO/DEBUG(31):4456b494afd426b8/system/lib/libc.so

INFO/DEBUG(31):4456b49800000000

INFO/DEBUG(31):4456b49cafd19375/system/lib/libc.so

INFO/DEBUG(31):4456b4a00025b558[heap]

INFO/DEBUG(31):4456b4a4afd183d9/system/lib/libc.so

INFO/DEBUG(31):4456b4a8002105f0[heap]

INFO/DEBUG(31):4456b4ac0005ebd2[heap]

INFO/DEBUG(31):4456b4b0405986b0/dev/ashmem/dalvik-heap (deleted)

INFO/DEBUG(31):4456b4b481d859ec/system/lib/libdvm.so

INFO/DEBUG(31):4456b4b8002105f0[heap]

INFO/DEBUG(31):4456b4bcafd18437/system/lib/libc.so

INFO/DEBUG(31):4456b4c0df002777

INFO/DEBUG(31):4456b4c4e3a070ad

INFO/DEBUG(31): #00 4456b4c800000001

INFO/DEBUG(31):4456b4cc81d37701/system/lib/libdvm.so

INFO/DEBUG(31): #01 4456b4d000000001

INFO/DEBUG(31):4456b4d481d399c9/system/lib/libdvm.so

在网上查了一下,好像解决办法挺麻烦的,网上的资料都说是2.3的Bug。

Android2.2,2.3,2.3.3都存在的一个bug,在这里有详细的描述。http://code.google.com/p/android/issues/detail?id=12987

问题的核心在于这样一句话:JNI WARNING: jarray 0x4074f6e0 points to non-array object (Ljava/lang/String;)

也就是进行JNI调用时,把一个Java中的String对象当数组来访问了,最终导致虚拟机崩溃。

在网上查了下,基本算是一个比较严重的BUG,没办法解决,所以如果说用WebView组件想在js和java之间相互调用的话就没办法适应所有机型,所以做android原生应用程序时最好不要用WebView组件,否则2.3系统会直接崩溃掉。

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港