【发布时间】:2014-05-22 23:38:27
【问题描述】:
在将 Worklight 6.1 升级到最新版本(v 6.1.0.01 于 2014 年 3 月 11 日发布)后,我们的应用程序在 JSONStore 初始化时已停止在 Android 2.3 上运行。 我们创建了一个测试应用程序以重现该错误。测试应用启动后,我们用一个简单的集合初始化了 JSONStore。
var collections = {};
//Object that defines the 'people' collection
collections["people"] = {};
//Object that defines the Search Fields for the 'people' collection
WL.JSONStore.init(collections)
.then(function () {
//success function
})
.fail(function (errorObject) {
//error function
});
我们的 Android 2.3 设备上的日志在 JSONStore 初始化时报告以下行:
01-18 14:57:11.419:D/com.test(1694):提取 zip 文件:featurelibs/armeabi/libcrypto.so.1.0.0
01-18 14:57:12.609:D/com.test(1694):使用 System.load 加载库:/data/data/com.test/files/libcrypto.so.1.0.0
01-18 14:57:12.739: I/DEBUG(88): * ** * ** * ** * ** * 强> ** *
01-18 14:57:12.739:I/DEBUG(88):构建指纹:'samsung/GT-S5830/GT-S5830:2.3.6/GINGERBREAD/XWKTS:user/release-keys'
01-18 14:57:12.739: I/DEBUG(88): pid: 1694, tid: 1704 >>> com.test
01-18 14:57:12.739:I/DEBUG(88):信号 4 (SIGILL),代码 1 (ILL_ILLOPC),故障地址 80c86cc4
01-18 14:57:12.739: I/DEBUG(88): r0 80db8e18 r1 47609324 r2 80d7997c r3 00000000
01-18 14:57:12.739: I/DEBUG(88): r4 80dc0354 r5 00000001 r6 00000000 r7 00000000
01-18 14:57:12.749: I/DEBUG(88): r8 802182c0 r9 00219228 10 46072cac fp 46e46fbc
01-18 14:57:12.749: I/DEBUG(88): ip 0000004f sp 47609330 lr afd1d1b3 pc 80c86cc4 cpsr 60000010
01-18 14:57:12.749: I/DEBUG(88): d0 41dd402807c00000 d1 41dd402807800000
01-18 14:57:12.749: I/DEBUG(88): d2 000000003f000000 d3 000000003f000000
01-18 14:57:12.749: I/DEBUG(88): d4 0000000000000000 d5 0000000000000000
01-18 14:57:12.749: I/DEBUG(88): d6 0000000000000000 d7 0000000000000000
01-18 14:57:12.749: I/DEBUG(88): d8 4130000000000000 d9 0000000000000000
01-18 14:57:12.749: I/DEBUG(88): d10 0000000000000000 d11 0000000000000000
01-18 14:57:12.749: I/DEBUG(88): d12 0000000000000000 d13 0000000000000000
01-18 14:57:12.749: I/DEBUG(88): d14 0000000000000000 d15 0000000000000000
01-18 14:57:12.749: I/DEBUG(88): scr 20000012
01-18 14:57:12.809: I/DEBUG(88): #00 pc 00086cc4 /data/data/com.test/files/libcrypto.so.1.0.0
01-18 14:57:12.809: I/DEBUG(88): #01 pc 0001d1ae /system/lib/libc.so
01-18 14:57:12.809: I/DEBUG(88): 电脑周围的代码:
01-18 14:57:12.809: I/DEBUG(88): 80c86ca4 e1a01006 ebff0215 e59f3104 e59d2004
01-18 14:57:12.809: I/DEBUG(88): 80c86cb4 e7923003 e5830000 eaffffee e59d0004
01-18 14:57:12.809: I/DEBUG(88): 80c86cc4 e30f6b27 e59f20e8 e34f6fff e5846108
01-18 14:57:12.809: I/DEBUG(88): 80c86cd4 e1a01003 e790c002 e28d0020 e3a02010
01-18 14:57:12.809: I/DEBUG(88): 80c86ce4 e58c3000 ebff01d2 e59f30c8 e28d1024
01-18 14:57:12.809:I/DEBUG(88):lr 周围的代码:
01-18 14:57:12.809: I/DEBUG(88): afd1d190 bdf0b003 783718c6 2f3d1c70 e7ecd1f1
01-18 14:57:12.809: I/DEBUG(88): afd1d1a0 000243f2 ffffff4c b083b500 f7ffa901
01-18 14:57:12.809: I/DEBUG(88): afd1d1b0 b003ffbb 46c0bd00 1c04b510 fca4f7ff
01-18 14:57:12.809: I/DEBUG(88): afd1d1c0 886388a1 18c00408 46c0bd10 1c0db5f8
01-18 14:57:12.809: I/DEBUG(88): afd1d1d0 1c081c04 1c161c11 e8bcf7f0 1c071c31
01-18 14:57:12.809:I/DEBUG(88):堆栈:
01-18 14:57:12.809: I/DEBUG(88): 476092f0 003b1310
01-18 14:57:12.809: I/DEBUG(88): 476092f4 003b15a8
01-18 14:57:12.809: I/DEBUG(88): 476092f8 0000000b
01-18 14:57:12.809: I/DEBUG(88): 476092fc 802a1ce8
01-18 14:57:12.809: I/DEBUG(88): 47609300 802a1ce8
01-18 14:57:12.809: I/DEBUG(88): 47609304 0000000e
01-18 14:57:12.809: I/DEBUG(88): 47609308 b000e548
01-18 14:57:12.809: I/DEBUG(88): 4760930c 80dc0354
01-18 14:57:12.819: I/DEBUG(88): 47609310 00000001
01-18 14:57:12.819: I/DEBUG(88): 47609314 00000000
01-18 14:57:12.819: I/DEBUG(88): 47609318 0000000001-18 14:57:12.819: I/DEBUG(88): 4760931c afd1d1b3 /system/lib/libc.so
01-18 14:57:12.819: I/DEBUG(88): 47609320 ffffffff
01-18 14:57:12.819: I/DEBUG(88): 47609324 80c47034 /data/data/com.test/files/libcrypto.so.1.0.001-18 14:57:12.819: I/DEBUG(88): 47609328 df002777
01-18 14:57:12.819: I/DEBUG(88): 4760932c e3a070ad
01-18 14:57:12.819: I/DEBUG(88): #01 47609330 b000e5d4
01-18 14:57:12.819: I/DEBUG(88): 47609334 80db8e18
01-18 14:57:12.819: I/DEBUG(88): 47609338 ffffffff
01-18 14:57:12.819: I/DEBUG(88): 4760933c 00000000
01-18 14:57:12.819: I/DEBUG(88): 47609340 b000e548
01-18 14:57:12.819: I/DEBUG(88): 47609344 b00140cc
01-18 14:57:12.819: I/DEBUG(88): 47609348 b000e548
01-18 14:57:12.819: I/DEBUG(88): 4760934c b00047a3 /system/bin/linker01-18 14:57:12.819: I/DEBUG(88): 47609350 ffffffff
01-18 14:57:12.819: I/DEBUG(88): 47609354 b000e548
01-18 14:57:12.819: I/DEBUG(88): 47609358 00001426
01-18 14:57:12.819: I/DEBUG(88): 4760935c 000022a9
01-18 14:57:12.819: I/DEBUG(88): 47609360 80db8734
01-18 14:57:12.819: I/DEBUG(88): 47609364 00000004
01-18 14:57:12.829: I/DEBUG(88): 47609368 0000000401-18 14:57:12.829: I/DEBUG(88): 4760936c b00037f5 /system/bin/linker
01-18 14:57:12.829: I/DEBUG(88): 47609370 b000e62c
01-18 14:57:12.829: I/DEBUG(88): 47609374 b000e628
应用程序在没有异常或显式错误的情况下关闭。
我们检查了 zip 文件“featurelibs/armeabi/libcrypto.so.1.0.0”是否存在于我们的 apk 中,以及所需的所有其他库。
我们错过了什么吗?
【问题讨论】:
-
您使用的是 2.3 的模拟器吗?如果您在另一个 android 版本 > 2.3(模拟器或设备)中运行此应用程序,它可以工作吗?
-
当您将 Worklight v6.1.0.01 安装在具有空工作区文件夹的干净 eclispe 中、创建混合应用程序、启用 jsonstore、添加上述初始化代码并在同一文件上运行时会发生什么设备或模拟器(共享版本号)?
-
我们已经在真实设备(Galaxy Ace - Android 2.3.6)和模拟器(API 10 - Android 2.3.3)上进行了测试。在 Android >2.3 的设备上,测试应用程序运行良好,没有任何问题。使用新工作区和新安装的 Worklight,我们遇到了同样的问题。
-
所以只有在模拟器中才会出现错误?我问是因为在运行 Javascript 代码时 Android 2.3.x 模拟器中存在一个错误,它可能会造成干扰。更多信息:code.google.com/p/android/issues/detail?id=12987 我不确定是否是这种情况的原因是它没有明确显示该错误。另外,您是否尝试过其他不是 Galaxy Ace 的 2.3.3 设备/模拟器,以查看它是否特定于该设备?
-
您会上传您使用新的空工作区创建的项目吗?使用this code inside main.js。值得一提的是,我使用 Worklight v6.1.0.01-20140311-2356 尝试了 HTC Hero Running v2.3,它运行良好,logcat 输出为here。另外,能否提供您正在使用的
libcrypto.so.1.0.0的文件大小和md5 hash?