Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] 应用闪退(之前正常) #263

Open
2 tasks
czjdr opened this issue Aug 17, 2024 · 1 comment
Open
2 tasks

[BUG] 应用闪退(之前正常) #263

czjdr opened this issue Aug 17, 2024 · 1 comment

Comments

@czjdr
Copy link

czjdr commented Aug 17, 2024

注意事项

  • 确保该bug可能是软件的本身问题,不是由于插件导致(如搜索结果不全,无法导入等都属于插件问题);如果是插件问题请去对应第三方插件仓库提issue。
  • 确保已经搜索过issue区,并阅读过QA

问题描述
今天想登录看看,点开后却闪退,MIUI 14 移动网,报错信息在下

详细的复现步骤
打开闪退

预期行为
正常打开

截图
com.facebook.react.common.JavascriptException: Error: Exception in HostFunction: Failed to create MMKV instance!, js engine: hermes, stack:
createMMKV@1:615571
MMKV@1:613950
getOrCreateMMKV@1:602140
anonymous@1:1430563
loadModuleImplementation@1:55844
guardedLoadModule@1:55393
metroRequire@1:55021
anonymous@1:913836
loadModuleImplementation@1:55844
guardedLoadModule@1:55393
metroRequire@1:55021
anonymous@1:910820
loadModuleImplementation@1:55844
guardedLoadModule@1:55393
metroRequire@1:55021
anonymous@1:569533
loadModuleImplementation@1:55844
guardedLoadModule@1:55393
metroRequire@1:55021
anonymous@1:567934
loadModuleImplementation@1:55844
guardedLoadModule@1:55393
metroRequire@1:55021
anonymous@1:62190
loadModuleImplementation@1:55844
guardedLoadModule@1:55350
metroRequire@1:55021
global@1:54607

at com.facebook.react.modules.core.ExceptionsManagerModule.reportException(ExceptionsManagerModule.java:72)
at java.lang.reflect.Method.invoke(Native Method)
at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:188)
at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
at android.os.Looper.loopOnce(Looper.java:210)
at android.os.Looper.loop(Looper.java:299)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:228)
at java.lang.Thread.run(Thread.java:1012)

使用AI解释

这个错误信息表明,在React Native应用中,尝试创建MMKV实例时出现了异常。MMKV是一个用于移动平台的键值存储库,由腾讯开发,用于替代NSUserDefaults/SharedPreferences,特别适用于存储大量小数据。
错误详情如下:

  • com.facebook.react.common.JavascriptException:这是React Native中的一个异常类型,表示JavaScript代码中出现了异常。
  • Error: Exception in HostFunction:这表明异常发生在原生代码(通常是Java或Objective-C/Swift)中,并且是从JavaScript代码通过原生模块调用的。
  • Failed to create MMKV instance!:这是具体的错误信息,说明创建MMKV实例失败了。
  • js engine: hermes:这表明应用正在使用Hermes作为JavaScript引擎。Hermes是React Native的一个可选JavaScript引擎,可以提高性能并减少应用大小。
  • 堆栈跟踪显示了错误发生的调用序列,从JavaScript代码中的createMMKV函数开始,一直到React Native框架内部。
    这个错误可能由以下原因引起:
  1. 文件系统权限问题:应用可能没有权限写入文件系统,这是创建MMKV实例所需要的。
  2. 存储空间不足:设备的存储空间可能已满,无法创建新的MMKV实例。
  3. 初始化问题:MMKV可能没有正确初始化,例如没有调用必要的初始化方法。
  4. 版本兼容问题:使用的MMKV版本可能与React Native或设备操作系统不完全兼容。
    解决这个问题的步骤可能包括:
  • 检查应用是否有写入存储的权限,并在Android的AndroidManifest.xml中声明必要的权限。
  • 检查设备是否有足够的存储空间。
  • 确保MMKV已经按照文档正确初始化。
  • 查看MMKV库的文档,确认所有步骤都已正确执行。
  • 如果是版本问题,尝试更新MMKV库到兼容的版本。
  • 查看完整的错误日志,以获取更多上下文信息。
    如果问题仍然存在,可能需要进一步调试,包括查看MMKV的源代码或联系库的维护者。

其他信息:

  • OS: [e.g. Android12]
  • 版本号 [e.g. v0.1.0-alpha.0]
@maotoumao
Copy link
Owner

升级了MMKV的版本,或许修复了,可以再观察一下..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants