【发布时间】:2020-11-30 19:10:33
【问题描述】:
我制作了一个应用程序,它只需使用 NFC 读取数据并在修改后写回数据。在刷卡大约 100 次后,newIntent 没有被注册,我在 logcat 中得到了这个
01-01 05:43:46.990 6347-6376/? E/dalvikvm: JNI ERROR (app bug): local reference table overflow (max=512)
01-01 05:43:46.990 6347-6376/? E/dalvikvm: Failed adding to JNI local ref table (has 512 entries)
01-01 05:43:46.990 6347-6376/? E/dalvikvm: VM aborting
01-01 05:43:46.990 6347-6376/? A/libc: Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1), thread 6376 (message)
01-01 05:43:48.010 9950-9950/com.android.nfc E/Trace: error opening trace file: No such file or directory (2)
01-01 05:43:49.930 9950-9971/com.android.nfc E/NFC-HCI: Could not open /system/vendor/firmware/libpn544_fw.so
是不是和dalvikvm有关?因为我在运行 android 9.1 的新手机中没有收到此错误。到目前为止,该问题仅在运行 4.2 的设备中出现。
我正在使用默认的 NFC 库,并且没有本机代码。以前我在带有本机代码的项目中使用相同的代码,我得到了同样的错误。 Stack overflow 中的许多答案表明这可能是由于我们没有清除本地引用的本机代码,所以我只在单独的项目中尝试了 NFC 操作,没有任何其他代码。仍然出现同样的错误。
【问题讨论】:
-
显示您的 NFC 代码,因为您可能做错了什么导致它。
-
@Andrew Check MainActivity.java gist.github.com/haseebpvt/9bce85647433f1d42a99e91b5f452db1
标签: android nfc dalvik android-4.2-jelly-bean