【发布时间】:2020-03-23 15:48:12
【问题描述】:
我的应用程序崩溃了,logcat 显示这个"" JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8: 非法起始字节 0xf0""
logcat 显示了这个
03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] JNI 检测到应用程序错误:输入无效 修改后的 UTF-8 : 非法起始字节 0xf0 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 字符串:
'ZA_SPEENA_JALLABI__YAMA_LALAI_ME_GHANAM__RANG_DE_????????(_BY_ARYANA_SAEED_)(128k).mp3' 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在调用 NewStringUTF 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 来自 org.aitech.medialibrary.interfaces.media.MediaWrapper [] org.aitech .medialibrary.MedialibraryImpl.nativeGetSortedPagedAudio(int, boolean, int, int) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] "arch_disk_io_1" prio=5 tid=20 可运行 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] | group="main" sCount=0 dsCount=0 obj=0x13054160 self=0xdd476000 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] | sysTid=25517 nice=0 cgrp=default sched=0/0 handle=0xf4923080 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] | state=R schedstat=( 0 0 0 ) utm=10 stm=8 core=3 HZ=100 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] |堆栈=0xdccb7000-0xdccb9000 堆栈大小=1036KB 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] |持有互斥锁=“mutator lock”(共享持有) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] native: #00 pc 00004e64 /system/lib/libbacktrace_libc++.so (UnwindCurrent: :Unwind(unsigned int, ucontext)+23) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 本机:#01 pc 00003665 /system/lib/libbacktrace_libc++.so(回溯: :Unwind(unsigned int, ucontext*)+8) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] native: #02 pc 0026bc55 /system/lib/libart.so (art: :DumpNativeStack(std::__1::basic_ostream >&, int, char const*, art::mirror::ArtMethod*)+84) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] native: #03 pc 0024e367 /system/lib/libart.so (art: :Thread::Dump(std::__1::basic_ostream >&) const+158) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/艺术:sart/runtime/check_jni.cc:65] 本机:#04 pc 000b6d7b /system/lib/libart.so(艺术: :JniAbort(char const*, char const*)+610) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] native: #05 pc 000b74a1 /system/lib/libart.so (art: :JniAbortF(char const*, char const*, ...)+68) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] native: #06 pc 000b9a5b /system/lib/libart.so (art: :ScopedCheck::Check(bool, char const*, ...) (.constprop.129)+922) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/艺术:sart/runtime/check_jni.cc:65] 本机:#07 pc 000c3545 /system/lib/libart.so(艺术: :CheckJNI::NewStringUTF(_JNIEnv*, char const*)+44) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 本机:#08 pc 000bc843 /data/app/org.aitech.ai。 debug-1/lib/arm/libmla.so (mediaToMediaWrapper(_JNIEnv*, fields*, std::__ndk1::shared_ptr const&)+514) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 本机:#09 pc 000b27af /data/app/org.aitech.ai。 debug-1/lib/arm/libmla.so (???) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 本机:#10 pc 000b28f7 /data/app/org.aitech.ai。 debug-1/lib/arm/libmla.so (getPagedAudio(_JNIEnv*, _jobject*, int, unsigned char, int, int)+46) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 本机: #11 pc 00a7a383 /data/dalvik-cache/arm/data@ app@org.aitech.ai.debug-1@base.apk@classes.dex (Java_org_videolan_medialibrary_MedialibraryImpl_nativeGetSortedPagedAudio__IZII+110) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 org.aitech.medialibrary.MedialibraryImpl.nativeGetSortedPagedAudio(本机方法) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 org.aitech.medialibrary.MedialibraryImpl.getPagedAudio(MedialibraryImpl.java:194) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 org.aitech.ai.providers.medialibrary.TracksProvider.getPage(TracksProvider.吨:63) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 org.aitech.ai.providers.medialibrary.TracksProvider.getPage(TracksProvider.吨:33) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 org.aitech.ai.providers.medialibrary.MedialibraryProvider$MLDataSource.loadInitial( MedialibraryProvider.kt:127) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 androidx.paging.PositionalDataSource.dispatchLoadInitial(PositionalDataSource.java:362) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 androidx.paging.TiledPagedList.(TiledPagedList.java:112) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 androidx.paging.PagedList.create(PagedList.java:452) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 androidx.paging.PagedList$Builder.build(PagedList.java:611) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 androidx.paging.LivePagedListBuilder$1.compute(LivePagedListBuilder.java:202) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 androidx.paging.LivePagedListBuilder$1.compute(LivePagedListBuilder.java:167) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 androidx.lifecycle.ComputableLiveData$2.run(ComputableLiveData.java:101) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java: 587) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 java.lang.Thread.run(Thread.java:818) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 03-19 10:39:29.491 25489-25517/org.aitech.ai .debug A/art: sart/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8: 非法起始字节 0xf0 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 字符串:'ZA_SPEENA_JALLABI__YAMA_LALAI_ME_GHANAM__RANG_DE_????????(_BY_ARYANA_SAEED_)(128k ).mp3' 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在调用 NewStringUTF 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 来自 org.aitech.medialibrary.interfaces.media.MediaWrapper [] org.aitech .medialibrary.MedialibraryImpl.nativeGetSortedPagedAudio(int, boolean, int, int) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] "arch_disk_io_1" prio=5 tid=20 可运行 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] | group="main" sCount=0 dsCount=0 obj=0x13054160 self=0xdd476000 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] | sysTid=25517 nice=0 cgrp=default sched=0/0 handle=0xf4923080 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] | state=R schedstat=( 0 0 0 ) utm=10 stm=8 core=3 HZ=100 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] |堆栈=0xdccb7000-0xdccb9000 堆栈大小=1036KB 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] |持有互斥锁=“mutator lock”(共享持有) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] native: #00 pc 00004e64 /system/lib/libbacktrace_libc++.so (UnwindCurrent: :Unwind(unsigned int, ucontext*)+23) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 本机:#01 pc 00003665 /system/lib/libbacktrace_libc++.so(回溯: :Unwind(unsigned int, ucontext*)+8) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] native: #02 pc 0026bc55 /system/lib/libart.so (art: :DumpNativeStack(std::__1::basic_ostream >&, int, char const*, art::mirror::ArtMethod*)+84) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] native: #03 pc 0024e367 /system/lib/libart.so (art: :Thread::Dump(std::__1::basic_ostream >&) const+158) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/艺术:sart/runtime/check_jni.cc:65] 本机:#04 pc 000b6d7b /system/lib/libart.so(艺术: :JniAbort(char const*, char const*)+610) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] native: #05 pc 000b74a1 /system/lib/libart.so (art: :JniAbortF(char const*, char const*, ...)+68) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] native: #06 pc 000b9a5b /system/lib/libart.so (art: :ScopedCheck::Check(bool, char const*, ...) (.constprop.129)+922) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/艺术:sart/runtime/check_jni.cc:65] 本机:#07 pc 000c3545 /system/lib/libart.so(艺术: :CheckJNI::NewStringUTF(_JNIEnv*, char const*)+44) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 本机:#08 pc 000bc843 /data/app/org.aitech.ai。 debug-1/lib/arm/libmla.so (mediaToMediaWrapper(_JNIEnv*, fields*, std::__ndk1::shared_ptr const&)+514) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 本机:#09 pc 000b27af /data/app/org.aitech.ai。 debug-1/lib/arm/libmla.so (???) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 本机:#10 pc 000b28f7 /data/app/org.aitech.ai。 debug-1/lib/arm/libmla.so (getPagedAudio(_JNIEnv*, _jobject*, int, unsigned char, int, int)+46) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 本机: #11 pc 00a7a383 /data/dalvik-cache/arm/data@ app@org.aitech.ai.debug-1@base.apk@classes.dex (Java_org_videolan_medialibrary_MedialibraryImpl_nativeGetSortedPagedAudio__IZII+110) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 org.aitech.medialibrary.MedialibraryImpl.nativeGetSortedPagedAudio(本机方法) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 org.aitech.medialibrary.MedialibraryImpl.getPagedAudio(MedialibraryImpl.java:194) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 org.aitech.ai.providers.medialibrary.TracksProvider.getPage(TracksProvider.吨:63) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 org.aitech.ai.providers.medialibrary.TracksProvider.getPage(TracksProvider.吨:33) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 org.aitech.ai.providers.medialibrary.MedialibraryProvider$MLDataSource.loadInitial( MedialibraryProvider.kt:127) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 androidx.paging.PositionalDataSource.dispatchLoadInitial(PositionalDataSource.java:362) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 androidx.paging.TiledPagedList.(TiledPagedList.java:112) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 androidx.paging.PagedList.create(PagedList.java:452) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 androidx.paging.PagedList$Builder.build(PagedList.java:611) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 androidx.paging.LivePagedListBuilder$1.compute(LivePagedListBuilder.java:202) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 androidx.paging.LivePagedListBuilder$1.compute(LivePagedListBuilder.java:167) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 androidx.lifecycle.ComputableLiveData$2.run(ComputableLiveData.java:101) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java: 587) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] 在 java.lang.Thread.run(Thread.java:818) 03-19 10:39:29.491 25489-25517/org.aitech.ai.debug A/art: sart/runtime/check_jni.cc:65] """""""""""""'
【问题讨论】:
-
触发此错误的代码行是什么?
-
听起来你在任意二进制字符串上使用了
NewStringUTF。 -
是的,我使用过 NewStringUTF,当文件名中有表情符号时会导致错误
标签: android-ndk java-native-interface