Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android 6.0的LG手机上,libicuuc.so中的应用程序在本机代码中崩溃_Android_Sqlite_Android 6.0 Marshmallow_Native Code_Lg - Fatal编程技术网

在Android 6.0的LG手机上,libicuuc.so中的应用程序在本机代码中崩溃

在Android 6.0的LG手机上,libicuuc.so中的应用程序在本机代码中崩溃,android,sqlite,android-6.0-marshmallow,native-code,lg,Android,Sqlite,Android 6.0 Marshmallow,Native Code,Lg,我的应用程序在libicuuc.so文件中崩溃它只出现在使用Android 6.0的LG手机上。 我搜索了一下,但没有发现任何类似的问题。 这是来自Google Play的堆栈跟踪: Build fingerprint: 'lge/p1bssn_global_com/p1bssn:6.0/MRA58K/1635010184e9f:user/release-keys' Revision: '6' ABI: 'arm' signal 11 (SIGSEGV), code 1 (SEGV_MAPERR

我的应用程序在libicuuc.so文件中崩溃它只出现在使用Android 6.0的LG手机上。 我搜索了一下,但没有发现任何类似的问题。 这是来自Google Play的堆栈跟踪:

Build fingerprint: 'lge/p1bssn_global_com/p1bssn:6.0/MRA58K/1635010184e9f:user/release-keys'
Revision: '6'
ABI: 'arm'
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xba45f000
    r0 00000000  r1 00000000  r2 0000133b  r3 becaf54c
    r4 0000133a  r5 0000133a  r6 becaf54c  r7 becaf50c
    r8 becaf80c  r9 0000a972  sl ba45c98c  fp 9b7444bc
    ip b65d3bc0  sp becaf4d0  lr b650c821  pc b650c7d2  cpsr 00000030

backtrace:
    #00 pc 000577d2  /system/lib/libicuuc.so
    #01 pc 0005804d  /system/lib/libicuuc.so
    #02 pc 0005739f  /system/lib/libicuuc.so
    #03 pc 000a33d7  /system/lib/libicuuc.so (u_strToLower_55+130)
    #04 pc 00046997  /system/lib/libsqlite.so
是什么导致了这个错误

是什么导致了这个错误

堆栈跟踪/回溯跟踪中的多汁位:

/system/lib/libicuuc.so
ABI: 'arm'
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xba45f000
#03 pc 000a33d7  /system/lib/libicuuc.so (u_strToLower_55+130)
国际Unicode组件(ICU)是一个开源项目 针对Unicode支持的成熟C/C++和Java库、软件 国际化和软件全球化。重症监护病房广泛使用 可移植到许多操作系统和环境。它给 在所有平台上以及C、C++之间应用相同的结果 Java软件。ICU项目由以下机构赞助、支持和使用: IBM和许多其他公司

它在函数
u\u strToLower
中崩溃(SIGSEGV,分段错误,试图读取或写入非法内存位置),因此在代码中搜索
“ToLower”
方法(在java中),也许您可以隔离代码和问题。我们可以替换对我们可以控制的东西的调用,即
字符串
小写
函数。您还应该
防弹
传递给此函数的
字符串
(是否为
null
?)

为什么它在本机库中崩溃,我在使用Java

所有以Java代码开始生命的代码都被转换为 一段本机编译代码。从技术上讲,classes.dex将 转换为ELF共享对象。Android称之为库格式 OAT和转换classes.dex文件的工具称为dex2oat。 看这个


在buildgradle
defaultConfig{ndk{abiFilters“armeabi-v7a”、“x86”、“armeabi”、“mips”、“arm64-v8a”//或abiFilters“armeabi-v7a”、“armeabi”、“x86”}中尝试这行代码似乎是一个内部Lib函数错误。它将为所有设备构建。我认为这不是问题。该应用程序已在所有设备上正常运行。如果这是一个问题,我想它应该给出一个不令人满意的链接错误。
“ICU是一套成熟的、广泛使用的C/C++库,为软件应用程序提供Unicode和全球化支持。ICU具有广泛的可移植性,在所有平台上以及在C/C++和Java软件之间为应用程序提供相同的结果。”
它在函数
u_strToLower
中崩溃了,所以在你的代码中搜索
“ToLower”
方法(在
java
中),也许你可以隔离代码和问题。@JonGoodwin我在sqlite上调用一个查询,如下所示:“lower(replace)(replace)(replace)(replace)(replace)(replace)(replace)(replace)(replace)(replace)(replace替换(替换(替换替换(替换(替换替换(替换替换(替换替换(替换替换替换(替换替换(替换替换(替换(替换内容,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,“;@JonGoodwin,但它只在装有安卓6.0的Lg手机上崩溃。