Android 致命错误有哪些选项 JNI 在应用程序中检测到错误

问题描述 投票:0回答:0

所以,我一直在使用 Visual Studio 2019 在 Urhosharp 上开发 Android 游戏。几个月来,它在旧的 Android (Java) 版本上运行良好,在模拟器和三星 S9+ 等设备上都没有问题。 现在已经在新的 S23 Ultra 上试过了,它似乎可以工作。大约 3 周后,应用程序开始挂起。虽然断断续续,但一个周末内有 3 次。查看 Logcat 消息,有两种类型的致命消息(尽管它们与挂起不一致):

类型 1:

   03-24 12:44:31.883 10112 10112 F DEBUG   : Abort message: 'JNI DETECTED ERROR IN APPLICATION: mid == null 
    03-24 12:44:31.883 10112 10112 F DEBUG   :     in call to CallIntMethod

类型 2:

    03-27 17:22:01.918  9619  9619 F DEBUG   : Abort message: 'JNI DETECTED ERROR IN APPLICATION: JNI CallIntMethod called with pending exception java.lang.NoSuchMethodError: no non-static method

显而易见的是,Ultra 有 3 周没有挂起,也没有记录任何致命消息。这表明进行了导致此问题的更改 - 所做的主要更改是将一些 Xamarin.Forms 控件添加到 MainPage.xaml.

我现在已经回到这些更改之前的应用程序版本以再次测试。到目前为止没有问题,现在至少应该有一条致命消息。我希望可以通过反复试验找到令人反感的更改,但我并不期待这样。但是一想到分析堆栈跟踪,我也没有高兴得跳起来,即使我可以,问题似乎很可能是 urho/xamarin 使用 Java 7 而 Ultra 是 Java 8。

我不能使用 Java 8,因为 xamarin.forms 不会针对它构建。也许将 Visual Studio 从 2019 年更新到 2022 年?然而,Urhosharp 没有直接的 VS 支持 (NuGet),尽管一位 MS 专家认为它应该可以开始工作。但即使我可以,它解决这个问题的可能性有多大?

另一件令人费解的事情是致命消息不会使应用程序崩溃,这可能是由于在 ErrorExit 之后直接运行命令?

03-24 12:44:31.884 10112 10112 F DEBUG   :       #10 pc 000000000087d72c  /data/app/~~nd6pGvSYyHFC0jb3r_Wmpg==/com.companyname.xxxxx-0x98f1bE6Ay19-ViLU-YRA==/lib/arm64/libmono-urho.so (Urho3D::Application::Run()+400) (BuildId: 77990cfc08a0f7963a9304ba4d483b87ae85f065)

哦,是的,当应用程序确实挂起时,没有相关的致命消息,但我希望两者无论如何都已连接。

我在下面放了一个堆栈跟踪,以防它对其他人比我更重要。

03-24 12:44:31.191  9887 10032 F libc    : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 10032 (SDLThread), pid 9887 (mpanyname.xxxxx)
03-24 12:44:31.883 10112 10112 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
03-24 12:44:31.883 10112 10112 F DEBUG   : Build fingerprint: 'samsung/dm3qxeea/dm3q:13/TP1A.220624.014/S918BXXS1AWBM:user/release-keys'
03-24 12:44:31.883 10112 10112 F DEBUG   : Revision: '13'
03-24 12:44:31.883 10112 10112 F DEBUG   : ABI: 'arm64'
03-24 12:44:31.883 10112 10112 F DEBUG   : Processor: '1'
03-24 12:44:31.883 10112 10112 F DEBUG   : Timestamp: 2023-03-24 12:44:31.325878663+0100
03-24 12:44:31.883 10112 10112 F DEBUG   : Process uptime: 2s
03-24 12:44:31.883 10112 10112 F DEBUG   : Cmdline: com.companyname.xxxxx
03-24 12:44:31.883 10112 10112 F DEBUG   : pid: 9887, tid: 10032, name: SDLThread  >>> com.companyname.xxxxx <<<
03-24 12:44:31.883 10112 10112 F DEBUG   : uid: 10396
03-24 12:44:31.883 10112 10112 F DEBUG   : tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
03-24 12:44:31.883 10112 10112 F DEBUG   : pac_enabled_keys: 000000000000000f (PR_PAC_APIAKEY, PR_PAC_APIBKEY, PR_PAC_APDAKEY, PR_PAC_APDBKEY)
03-24 12:44:31.883 10112 10112 F DEBUG   : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
03-24 12:44:31.883 10112 10112 F DEBUG   : Abort message: 'JNI DETECTED ERROR IN APPLICATION: mid == null
03-24 12:44:31.883 10112 10112 F DEBUG   :     in call to CallIntMethod
03-24 12:44:31.883 10112 10112 F DEBUG   :     from int org.libsdl.app.SDLActivity.nativeInit(java.lang.Object, java.lang.String)'
03-24 12:44:31.883 10112 10112 F DEBUG   :     x0  0000000000000000  x1  0000000000002730  x2  0000000000000006  x3  0000007ba5374f40
03-24 12:44:31.883 10112 10112 F DEBUG   :     x4  5151441f43445342  x5  5151441f43445342  x6  5151441f43445342  x7  7f7f7f7f7f7f7f7f
03-24 12:44:31.883 10112 10112 F DEBUG   :     x8  00000000000000f0  x9  0000007cce6f1bf0  x10 0000000000000001  x11 0000007cce7663ec
03-24 12:44:31.883 10112 10112 F DEBUG   :     x12 0000007b9ab32430  x13 0000000001b51f60  x14 0000000001b51e20  x15 0000121dd9e6a659
03-24 12:44:31.883 10112 10112 F DEBUG   :     x16 0000007cce7d1a58  x17 0000007cce7aa120  x18 0000000000000008  x19 000000000000269f
03-24 12:44:31.883 10112 10112 F DEBUG   :     x20 0000000000002730  x21 00000000ffffffff  x22 0000007c23615000  x23 0000000000000002
03-24 12:44:31.883 10112 10112 F DEBUG   :     x24 0000007ba5375118  x25 0000007ba5376000  x26 000000000000004d  x27 00000000000000e5
03-24 12:44:31.884 10112 10112 F DEBUG   :     x28 0000007ba5375598  x29 0000007ba5374fc0
03-24 12:44:31.884 10112 10112 F DEBUG   :     lr  0000007cce757368  sp  0000007ba5374f20  pc  0000007cce757394  pst 0000000000001000
03-24 12:44:31.884 10112 10112 F DEBUG   : backtrace:
03-24 12:44:31.884 10112 10112 F DEBUG   :       #00 pc 000000000008d394  /apex/com.android.runtime/lib64/bionic/libc.so (abort+168) (BuildId: 55a7515345951d438fd16e74b171760b)
03-24 12:44:31.884 10112 10112 F DEBUG   :       #01 pc 00000000006d122c  /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+704) (BuildId: a49c773ef6221a996ecea990e9753caa)
03-24 12:44:31.884 10112 10112 F DEBUG   :       #02 pc 0000000000016ea8  /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_3::__invoke(char const*)+80) (BuildId: 420d56eac27a210c92900f3ddb760c86)
03-24 12:44:31.884 10112 10112 F DEBUG   :       #03 pc 0000000000016450  /apex/com.android.art/lib64/libbase.so (android::base::LogMessage::~LogMessage()+352) (BuildId: 420d56eac27a210c92900f3ddb760c86)
03-24 12:44:31.884 10112 10112 F DEBUG   :       #04 pc 0000000000442a24  /apex/com.android.art/lib64/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+1612) (BuildId: a49c773ef6221a996ecea990e9753caa)
03-24 12:44:31.884 10112 10112 F DEBUG   :       #05 pc 00000000005d6118  /apex/com.android.art/lib64/libart.so (art::JNI<false>::CallIntMethod(_JNIEnv*, _jobject*, _jmethodID*, ...)+556) (BuildId: a49c773ef6221a996ecea990e9753caa)
03-24 12:44:31.884 10112 10112 F DEBUG   :       #06 pc 000000000032cef0  /data/app/~~nd6pGvSYyHFC0jb3r_Wmpg==/com.companyname.xxxxx-0x98f1bE6Ay19-ViLU-YRA==/lib/arm64/libmono-urho.so (Android_JNI_ShowMessageBox+752) (BuildId: 77990cfc08a0f7963a9304ba4d483b87ae85f065)
03-24 12:44:31.884 10112 10112 F DEBUG   :       #07 pc 000000000033334c  /data/app/~~nd6pGvSYyHFC0jb3r_Wmpg==/com.companyname.xxxxx-0x98f1bE6Ay19-ViLU-YRA==/lib/arm64/libmono-urho.so (SDL_ShowMessageBox+224) (BuildId: 77990cfc08a0f7963a9304ba4d483b87ae85f065)
03-24 12:44:31.884 10112 10112 F DEBUG   :       #08 pc 0000000000333430  /data/app/~~nd6pGvSYyHFC0jb3r_Wmpg==/com.companyname.xxxxx-0x98f1bE6Ay19-ViLU-YRA==/lib/arm64/libmono-urho.so (SDL_ShowSimpleMessageBox+136) (BuildId: 77990cfc08a0f7963a9304ba4d483b87ae85f065)
03-24 12:44:31.884 10112 10112 F DEBUG   :       #09 pc 000000000087d114  /data/app/~~nd6pGvSYyHFC0jb3r_Wmpg==/com.companyname.xxxxx-0x98f1bE6Ay19-ViLU-YRA==/lib/arm64/libmono-urho.so (Urho3D::Application::ErrorExit(Urho3D::String const&)+932) (BuildId: 77990cfc08a0f7963a9304ba4d483b87ae85f065)
03-24 12:44:31.884 10112 10112 F DEBUG   :       #10 pc 000000000087d72c  /data/app/~~nd6pGvSYyHFC0jb3r_Wmpg==/com.companyname.xxxxx-0x98f1bE6Ay19-ViLU-YRA==/lib/arm64/libmono-urho.so (Urho3D::Application::Run()+400) (BuildId: 77990cfc08a0f7963a9304ba4d483b87ae85f065)
03-24 12:44:31.884 10112 10112 F DEBUG   :       #11 pc 00000000000090a8  <anonymous:7cab934000>



欢迎就这一切的任何方面提供任何帮助。

java android stack-trace logcat
© www.soinside.com 2019 - 2024. All rights reserved.