如果项目中有多个native模块(xysdk中包含native模块), 可能会出现libc++_shared库冲突导致的crash, 堆栈大致如下:
#00 pc 00000000000d8c48 /data/storage/el1/bundle/libs/arm64/libc++_shared.so(std::__n1::basic_ostream
#01 pc 00000000000069f0 /data/storage/el1/bundle/libs/arm64/libapplication.so(std::__n1::basic_ostream
#02 pc 0000000000006930 /data/storage/el1/bundle/libs/arm64/libapplication.so(std::__n1::basic_ostream
#03 pc 00000000000068ac /data/storage/el1/bundle/libs/arm64/libapplication.so(5c0227a065a1ed1c0e8a564a6f1eada6ed5b6790)
#04 pc 000000000003bff8 /system/lib64/platformsdk/libace_napi.z.so(panda::JSValueRef ArkNativeFunctionCallBack(panda::JsiRuntimeCallInfo*)+216)(e14950c654205757a26744aaff615d4e)
#05 pc 0000000000332130 /system/lib64/module/arkcompiler/stub.an(RTStub_PushCallArgsAndDispatchNative+40)
解决方案:
如果有源码编译的native模块, 将源码编译的模块头文件放在其他native模块之前导入并初始化.
如果都是har包依赖, 尝试调整不同har模块的依赖顺序.(尽可能将小鱼sdk放在后置依赖、初始化)