My app started to crash on start after recent update (I have implemented localization package). Not every phone is affected, but it’s always crashes on “google Redfin 64-bit only” device (according to Google internal testing) with the following backtrace:
backtrace:
#00 pc 0x0000000000051894 /apex/com.android.runtime/lib64/bionic/libc.so (abort+164)
#01 pc 0x00000000006d28bc /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+704)
#02 pc 0x0000000000016ea8 /apex/com.android.art/lib64/libbase.so
#03 pc 0x0000000000016450 /apex/com.android.art/lib64/libbase.so (android::base::LogMessage::~LogMessage()+352)
#04 pc 0x0000000000384118 /apex/com.android.art/lib64/libart.so (art::AssertNoPendingExceptionForNewException(char const*) const+548)
#05 pc 0x0000000000381f14 /apex/com.android.art/lib64/libart.so (art::ThrowException(char const*, art::ObjPtrart::mirror::Class, char const*, std::__va_list*) (.__uniq.13088424560882570482564097729983985904.llvm.4217988227545677784)+500)
#06 pc 0x0000000000496c08 /apex/com.android.art/lib64/libart.so (art::ThrowNoSuchMethodError(art::InvokeType, art::ObjPtrart::mirror::Class, std::__1::basic_string_view<char, std::__1::char_traits >, art::Signature const&)+288)
#07 pc 0x000000000048ff54 /apex/com.android.art/lib64/libart.so (NterpGetMethod+11152)
#08 pc 0x000000000020f540 /apex/com.android.art/lib64/libart.so (nterp_get_method+48)
#09 pc 0x00000000002041f4 /apex/com.android.art/lib64/libart.so (nterp_op_invoke_interface+116)
#10 pc 0x000000000020b74c /apex/com.android.art/lib64/libart.so (nterp_helper+9292)
#11 pc 0x000000000020a254 /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
#12 pc 0x000000000043696c /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+556)
#13 pc 0x00000000004cd8d4 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithVarArgsart::ArtMethod*(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+828)
#14 pc 0x00000000005dd9e8 /apex/com.android.art/lib64/libart.so (art::JNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+184)
#15 pc 0x0000000000386dc8 /data/app/~~KAcc-JIRINGxQlmJFhnREA==/com.nimuGAMES.TheDarkPlane-anzxgB6Lq6TFCiN7cS6ziQ==/split_config.arm64_v8a.apk
#16 pc 0x0000000000399a14 /data/app/~~KAcc-JIRINGxQlmJFhnREA==/com.nimuGAMES.TheDarkPlane-anzxgB6Lq6TFCiN7cS6ziQ==/split_config.arm64_v8a.apk
#17 pc 0x00000000003997a0 /data/app/~~KAcc-JIRINGxQlmJFhnREA==/com.nimuGAMES.TheDarkPlane-anzxgB6Lq6TFCiN7cS6ziQ==/split_config.arm64_v8a.apk
#18 pc 0x000000000039c0fc /data/app/~~KAcc-JIRINGxQlmJFhnREA==/com.nimuGAMES.TheDarkPlane-anzxgB6Lq6TFCiN7cS6ziQ==/split_config.arm64_v8a.apk
#19 pc 0x000000000039d82c /data/app/~~KAcc-JIRINGxQlmJFhnREA==/com.nimuGAMES.TheDarkPlane-anzxgB6Lq6TFCiN7cS6ziQ==/split_config.arm64_v8a.apk
#20 pc 0x00000000003b3a28 /data/app/~~KAcc-JIRINGxQlmJFhnREA==/com.nimuGAMES.TheDarkPlane-anzxgB6Lq6TFCiN7cS6ziQ==/split_config.arm64_v8a.apk
#21 pc 0x0000000000440354 /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+148)
#22 pc 0x000000000020a2b0 /apex/com.android.art/lib64/libart.so (nterp_helper+4016)
#23 pc 0x0000000000209334 /apex/com.android.art/lib64/libart.so (nterp_helper+52)
#24 pc 0x00000000004e5e04 /system/framework/arm64/boot-framework.oat
What I have tried so far:
- Changed SDK from 29 to 33
- Disabled Minify for Release
- Enable preloading assets for all languages
I can’t watch the ADB logs of affected devices, because the game both on my own device and emulator works just fine, but great many of my users are reporting crashes on startup.
What could I do? I have an idea of disabling Vulkan and leaving only OpenGL in build. Will it help?