-
Notifications
You must be signed in to change notification settings - Fork 245
Description
您好,目前尝试在游戏中hook Activity.setRequestedOrientation方法,自定义拦截游戏自身的旋转行为,在部分机型中遇到Unity3D游戏初始化失败闪退的问题
- 非全部机型必现,测试机Infinix NOTE30 是正常的,测试同学的华为P50 Pro (Harmony os 4.2.0)、OPPO Find X5 Pro (Android 14) 均会闪退
- Unity3D游戏有问题,而其他游戏 如cocos2d框架的正常
日志堆栈如下:
2025-10-11 14:29:14.931 19242-31963 BaseLib ExU usap64 E java.lang.Error: FATAL EXCEPTION [UnityMain]
Unity version : 2020.3.48f1c1
Device model : HUAWEI JAD-AL50
Device fingerprint: HUAWEI/JAD-AL50/HWJAD:12/HUAWEIJAD-AL50/104.2.0.183C00:user/release-keys
Build Type : Release
Scripting Backend : IL2CPP
ABI : arm64-v8a
Strip Engine Code : true
Caused by: java.lang.Error: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Version '2020.3.48f1c1 (06fbdfbf16e3)', Build type 'Release', Scripting Backend 'il2cpp', CPU 'arm64-v8a'
Build fingerprint: 'HUAWEI/JAD-AL50/HWJAD:12/HUAWEIJAD-AL50/104.2.0.183C00:user/release-keys'
Revision: '0'
ABI: 'arm64'
Timestamp: 2025-10-11 14:29:13+0800
pid: 19242, tid: 19242, name: hy.yhlzzkb >>> com.hy.yhlzzkb<<<
uid: 10290
signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
x0 0000000000000000 x1 0000000000004b2a x2 0000000000000006 x3 000000762553ba20
x4 0000000000000080 x5 0000000000000080 x6 0000000000000080 x7 8080808080808080
x8 00000000000000f0 x9 5692afb78f9bff4e x10 0000000000000000 x11 ffffff80fffffbdf
x12 0000000000000001 x13 000000007fffffff x14 000000000170ece0 x15 0000000000000040
x16 00000078e15e4088 x17 00000078e15be3f0 x18 000000000f826b1c x19 0000000000004b2a
x20 0000000000004b2a x21 00000000ffffffff x22 0000000000000000 x23 000000000000000b
x24 00000075d11ebc28 x25 0000000000000000 x26 00000076148c2000 x27 000000762553bd20
x28 00000076148a9570 x29 000000762553baa0
sp 000000762553ba00 lr 00000078e1570fa0 pc 00000078e1570fcc
backtrace:
#00 pc 0000000000089fcc /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: a85ef5fb74e0282813cd1edb10854577)
#01 pc 00000000000ec3cc /apex/com.android.runtime/lib64/bionic/libc.so (android_run_on_all_threads) (BuildId: a85ef5fb74e0282813cd1edb10854577)
#02 pc 00000000000ec2ec /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_internal_gettid(long, char const*)+8) (BuildId: a85ef5fb74e0282813cd1edb10854577)
#03 pc 00000000000eca04 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_kill+48) (BuildId: a85ef5fb74e0282813cd1edb10854577)
#04 pc 0000000000006d00 /data/app/~~WO4YkuvXJVj-Br96_doEiA==/com.hy.yhlzzkb-72ZKAJQImmblzY6f7byQGQ==/lib/arm64/libBugly.so (BuildId: 8a1d746b019ab09be541d40997749cc60107f5bb)
#05 pc 0000000000002244 /apex/com.android.art/lib64/libsigchain.so (art::SignalChain::Handler(int, siginfo*, void*)+440) (BuildId: 45f43e18dc6ff54eabb319365499f3f5)
#06 pc 0000000000000888 [vdso]
#07 pc 0000000000009b40 /data/user/0/com.hy.yhlzzkb/files/lib/0A46FFBF-8DCA-4505-82A9-B5B8E1F9212A_lib/libpine.so (BuildId: 55f526a0fb345864774f3abb1442473b8accce39)
#08 pc 000000000000756c /data/user/0/com.hy.yhlzzkb/files/lib/0A46FFBF-8DCA-4505-82A9-B5B8E1F9212A_lib/libpine.so (BuildId: 55f526a0fb345864774f3abb1442473b8accce39)
#09 pc 0000000000222244 /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+148) (BuildId: a375534bc119ae985c5b6700ebc22557)
#10 pc 0000000000211dd8 /apex/com.android.art/lib64/libart.so (nterp_helper+2152) (BuildId: a375534bc119ae985c5b6700ebc22557)
#11 pc 0000000000218be8 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: a375534bc119ae985c5b6700ebc22557)
#12 pc 00000000002845c0 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+216) (BuildId: a375534bc119ae985c5b6700ebc22557)
#13 pc 00000000003fe418 /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+400) (BuildId: a375534bc119ae985c5b6700ebc22557)
2025-10-11 14:29:14.931 19242-31963 BaseLib ExU usap64 E #38 pc 00000000002132e4 /apex/com.android.art/lib64/libart.so (nterp_helper+7540) (BuildId: a375534bc119ae985c5b6700ebc22557)
#39 pc 00000000002115a4 /apex/com.android.art/lib64/libart.so (nterp_helper+52) (BuildId: a375534bc119ae985c5b6700ebc22557)
#40 pc 00000000002124c4 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: a375534bc119ae985c5b6700ebc22557)
#41 pc 00000000002124c4 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: a375534bc119ae985c5b6700ebc22557)
#42 pc 00000000002124c4 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: a375534bc119ae985c5b6700ebc22557)
#43 pc 0000000000218964 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: a375534bc119ae985c5b6700ebc22557)
#44 pc 00000000002845a4 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+188) (BuildId: a375534bc119ae985c5b6700ebc22557)
#45 pc 0000000000655d1c /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1384) (BuildId: a375534bc119ae985c5b6700ebc22557)
#46 pc 00000000005bd3b8 /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: a375534bc119ae985c5b6700ebc22557)
#47 pc 00000000000cbf74 /apex/com.android.art/javalib/arm64/boot.oat (BuildId: 3c324d20dd625a5c319b543d471ed051d5b48605)
at libc.abort(abort:164)
at libc.android_run_on_all_threads(android_run_on_all_threads:0)
at libc.__pthread_internal_gettid(long, char const*)(__pthread_internal_gettid:8)
at libc.pthread_kill(pthread_kill:48)
at libBugly.0x6d00(Native Method)
at libsigchain.art::SignalChain::Handler(int, siginfo*, void*)(Handler:440)
at [vdso].0x888(Native Method)
at libpine.0x9b40(Native Method)
at libpine.0x756c(Native Method)
at libart.art_quick_generic_jni_trampoline(art_quick_generic_jni_trampoline:148)
at libart.nterp_helper(nterp_helper:2152)
at libart.art_quick_invoke_static_stub(art_quick_invoke_static_stub:568)
at libart.art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)(Invoke:216)
at libart.art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)(ArtInterpreterToCompiledCodeBridge:400)
at libart.bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)(DoCall<false, false>:804)
at libart.MterpInvokeStatic(MterpInvokeStatic:980)
at libart.mterp_op_invoke_static(mterp_op_invoke_static:20)
at libart.art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool)(Execute:816)
at libart.artQuickToInterpreterBridge(artQuickToInterpreterBridge:776)
at libart.art_quick_to_interpreter_bridge(art_quick_to_interpreter_bridge:88)
at libart.nterp_helper(nterp_helper:152)
at libart.nterp_helper(nterp_helper:3924)
at libart.nterp_helper(nterp_helper:3924)
at libart.nterp_helper(nterp_helper:3924)
at libart.art_quick_invoke_stub(art_quick_invoke_stub:548)
at libart.art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)(Invoke:188)
at libart.art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)(ArtInterpreterToCompiledCodeBridge:400)
at libart.bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)(DoCall<false, false>:804)
at libart.MterpInvokeDirect(MterpInvokeDirect:1036)
at libart.mterp_op_invoke_direct(mterp_op_invoke_direct:20)