OpenCC
OpenCC copied to clipboard
崩溃是否是一些无效字符串导致的?
terminating with uncaught exception of type std::runtime_error: Invalid UTF8: ���s
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 19171 >>> com.crow.copymanga <<<
backtrace:
#00 pc 0x000000000005b730 /apex/com.android.runtime/lib64/bionic/libc.so (abort+168)
#01 pc 0x00000000000eab24 /data/app/~~XXeQiZHYJh8T15wTSerXdg==/com.crow.copymanga-zKLdfJgkgOveyf3N5Q7mWQ==/split_config.arm64_v8a.apk!libChineseConverter.so (abort_message+4096) (BuildId: 7318f678fd16403be23ad07db193e9b5cc7cbc2d)
#02 pc 0x00000000000ead4c /data/app/~~XXeQiZHYJh8T15wTSerXdg==/com.crow.copymanga-zKLdfJgkgOveyf3N5Q7mWQ==/split_config.arm64_v8a.apk!libChineseConverter.so (demangling_terminate_handler()+4096) (BuildId: 7318f678fd16403be23ad07db193e9b5cc7cbc2d)
#03 pc 0x00000000000eabdc /data/app/~~XXeQiZHYJh8T15wTSerXdg==/com.crow.copymanga-zKLdfJgkgOveyf3N5Q7mWQ==/split_config.arm64_v8a.apk!libChineseConverter.so (std::__terminate(void (*)())+4096) (BuildId: 7318f678fd16403be23ad07db193e9b5cc7cbc2d)
#04 pc 0x00000000000ea180 /data/app/~~XXeQiZHYJh8T15wTSerXdg==/com.crow.copymanga-zKLdfJgkgOveyf3N5Q7mWQ==/split_config.arm64_v8a.apk!libChineseConverter.so (__cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*)+4096) (BuildId: 7318f678fd16403be23ad07db193e9b5cc7cbc2d)
#05 pc 0x00000000000ea0d4 /data/app/~~XXeQiZHYJh8T15wTSerXdg==/com.crow.copymanga-zKLdfJgkgOveyf3N5Q7mWQ==/split_config.arm64_v8a.apk!libChineseConverter.so (__cxa_throw+124) (BuildId: 7318f678fd16403be23ad07db193e9b5cc7cbc2d)
#06 pc 0x000000000007b230 /data/app/~~XXeQiZHYJh8T15wTSerXdg==/com.crow.copymanga-zKLdfJgkgOveyf3N5Q7mWQ==/split_config.arm64_v8a.apk!libChineseConverter.so (opencc::SimpleConverter::Convert(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const&) const+120) (BuildId: 7318f678fd16403be23ad07db193e9b5cc7cbc2d)
#07 pc 0x000000000007b300 /data/app/~~XXeQiZHYJh8T15wTSerXdg==/com.crow.copymanga-zKLdfJgkgOveyf3N5Q7mWQ==/split_config.arm64_v8a.apk!libChineseConverter.so (opencc::SimpleConverter::Convert(char const*) const+168) (BuildId: 7318f678fd16403be23ad07db193e9b5cc7cbc2d)
#08 pc 0x000000000007aecc /data/app/~~XXeQiZHYJh8T15wTSerXdg==/com.crow.copymanga-zKLdfJgkgOveyf3N5Q7mWQ==/split_config.arm64_v8a.apk!libChineseConverter.so (Java_com_crow_mangax_tools_language_ChineseConverter_nativeConvert+300) (BuildId: 7318f678fd16403be23ad07db193e9b5cc7cbc2d)
#09 pc 0x000000000020b0a0 /data/app/~~XXeQiZHYJh8T15wTSerXdg==/com.crow.copymanga-zKLdfJgkgOveyf3N5Q7mWQ==/oat/arm64/base.odex (art_jni_trampoline+144)
#10 pc 0x00000000009d5438 /data/app/~~XXeQiZHYJh8T15wTSerXdg==/com.crow.copymanga-zKLdfJgkgOveyf3N5Q7mWQ==/oat/arm64/base.odex (O3.a.invokeSuspend+552)
#11 pc 0x00000000007361a4 /data/app/~~XXeQiZHYJh8T15wTSerXdg==/com.crow.copymanga-zKLdfJgkgOveyf3N5Q7mWQ==/oat/arm64/base.odex (kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith+164)
#12 pc 0x0000000000738f2c /data/app/~~XXeQiZHYJh8T15wTSerXdg==/com.crow.copymanga-zKLdfJgkgOveyf3N5Q7mWQ==/oat/arm64/base.odex (kotlinx.coroutines.DispatchedTask.run+1356)
#13 pc 0x00000000002ce50c /system/framework/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor.runWorker+812)
#14 pc 0x00000000002cb3f8 /system/framework/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor$Worker.run+72)
#15 pc 0x0000000000169ce0 /system/framework/arm64/boot.oat (java.lang.Thread.run+80)
#16 pc 0x00000000003607a4 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612)
#17 pc 0x000000000034bac4 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+144)
#18 pc 0x00000000004f3fa4 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1888)
#19 pc 0x00000000000c37b4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208)
#20 pc 0x000000000005d084 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)
extern "C"
jstring Java_com_crow_mangax_tools_language_ChineseConverter_nativeConvert(
JNIEnv *env,
jobject type,
jstring text_, jstring configFile_
) {
const char *text = env->GetStringUTFChars(text_, 0);
const char *configFile = env->GetStringUTFChars(configFile_, 0);
opencc::SimpleConverter simpleConverter((std::string(configFile)));
env->ReleaseStringUTFChars(text_, text);
env->ReleaseStringUTFChars(configFile_, configFile);
return env->NewStringUTF(simpleConverter.Convert(text).c_str());
}