反应原生Android JNI崩溃

时间:2019-07-24 06:42:17

标签: android react-native

加载React Native Activity之后,我开始出现以下错误。我们清理,删除,npm安装,重新导入到android studio等。什么都没解决。

我的本​​机信息输出是:

info
React Native Environment Info:
System:
OS: macOS 10.14.5
CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
Memory: 933.09 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 8.12.0 - /usr/local/bin/node
Yarn: 1.15.2 - /usr/local/bin/yarn
npm: 6.9.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
Android SDK:
API Levels: 11, 14, 15, 16, 21, 22, 23, 24, 25, 26, 27, 28
Build Tools: 21.1.2, 22.0.1, 23.0.1, 24.0.2, 25.0.0, 25.0.2, 26.0.0, 26.0.2, 27.0.0, 27.0.2, 27.0.3, 28.0.1, 28.0.3
System Images: android-16 | Google APIs Intel x86 Atom, android-19 | Google APIs Intel x86 Atom, android-25 | Google APIs ARM EABI v7a, android-26 | Google Play Intel x86 Atom, android-28 | Google APIs Intel x86 Atom
IDEs:
Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild
npmPackages:
react: 16.5.2 => 16.5.2
react-native: 0.59.9 => 0.59.9
npmGlobalPackages:
react-native-cli: 2.0.1

我生成如下所示的JS包:

 rm -rf node_modules package-lock.json yarn.lock && npm install && npm run bundle-android -- --bundle-output ../akbankx/src/main/assets/index.android.bundle --assets-dest ../akbankx/src/main/res --reset-cache

js捆绑从android studio加载错误logcat导致崩溃后:

java_vm_ext.cc:542] JNI DETECTED ERROR IN APPLICATION: obj == null
java_vm_ext.cc:542]     in call to GetObjectField
java_vm_ext.cc:542]     from void com.facebook.react.bridge.queue.NativeRunnable.run()
java_vm_ext.cc:542] "mqt_js" prio=5 tid=73 Runnable
java_vm_ext.cc:542]   | group="main" sCount=0 dsCount=0 flags=0 obj=0x12e57180 self=0x737e710000
java_vm_ext.cc:542]   | sysTid=4409 nice=-4 cgrp=default sched=0/0 handle=0x735b0de4f0
java_vm_ext.cc:542]   | state=R schedstat=( 1245932303 9379164 417 ) utm=117 stm=7 core=4 HZ=100
java_vm_ext.cc:542]   | stack=0x735afdb000-0x735afdd000 stackSize=1041KB
java_vm_ext.cc:542]   | held mutexes= "mutator lock"(shared held)
java_vm_ext.cc:542]   native: #00 pc 00000000003c7d4c  /system/lib64/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+220)
java_vm_ext.cc:542]   native: #01 pc 00000000004a5b64  /system/lib64/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool, BacktraceMap*, bool) const+352)
java_vm_ext.cc:542]   native: #02 pc 00000000002e98a8  /system/lib64/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+968)
java_vm_ext.cc:542]   native: #03 pc 0000000000353b90  /system/lib64/libart.so (art::JNI::GetObjectField(_JNIEnv*, _jobject*, _jfieldID*)+1068)
java_vm_ext.cc:542]   native: #04 pc 0000000000074aa8  /data/app/com.akbank.akbankdirektdev-rAyjieGVX60Tt9IsiUFHKg==/lib/arm64/libreactnativejni.so (facebook::jni::HybridClass<facebook::react::WritableNativeMap, facebook::react::ReadableNativeMap>::JavaPart::cthis()+140)
java_vm_ext.cc:542]   native: #05 pc 0000000000073d74  /data/app/com.akbank.akbankdirektdev-rAyjieGVX60Tt9IsiUFHKg==/lib/arm64/libreactnativejni.so (facebook::react::MethodInvoker::invoke(std::__ndk1::weak_ptr<facebook::react::Instance>&, facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<facebook::react::JBaseJavaModule, facebook::jni::JObject, void>::_javaobject*>, folly::dynamic const&)+4044)
java_vm_ext.cc:542]   native: #06 pc 0000000000069b28  /data/app/com.akbank.akbankdirektdev-rAyjieGVX60Tt9IsiUFHKg==/lib/arm64/libreactnativejni.so (facebook::react::JavaNativeModule::callSerializableNativeHook(unsigned int, folly::dynamic&&)+172)
java_vm_ext.cc:542]   native: #07 pc 00000000000a2d88  /data/app/com.akbank.akbankdirektdev-rAyjieGVX60Tt9IsiUFHKg==/lib/arm64/libreactnativejni.so (facebook::react::ModuleRegistry::callSerializableNativeHook(unsigned int, unsigned int, folly::dynamic&&)+84)
java_vm_ext.cc:542]   native: #08 pc 000000000001d384  /data/app/com.akbank.akbankdirektdev-rAyjieGVX60Tt9IsiUFHKg==/lib/arm64/libjscexecutor.so (facebook::react::JSIExecutor::nativeCallSyncHook(facebook::jsi::Value const*, unsigned long)+196)
java_vm_ext.cc:542]   native: #09 pc 0000000000026cfc  /data/app/com.akbank.akbankdirektdev-rAyjieGVX60Tt9IsiUFHKg==/lib/arm64/libjscexecutor.so (???)
java_vm_ext.cc:542]   native: #10 pc 00000000000befa4  /data/app/com.akbank.akbankdirektdev-rAyjieGVX60Tt9IsiUFHKg==/lib/arm64/libjsc.so (???)
java_vm_ext.cc:542]   native: #11 pc 00000000004dc400  /data/app/com.akbank.akbankdirektdev-rAyjieGVX60Tt9IsiUFHKg==/lib/arm64/libjsc.so (???)
java_vm_ext.cc:542]   native: #12 pc 00000000004cce40  /data/app/com.akbank.akbankdirektdev-rAyjieGVX60Tt9IsiUFHKg==/lib/arm64/libjsc.so (???)
java_vm_ext.cc:542]   at com.facebook.react.bridge.queue.NativeRunnable.run(Native method)
java_vm_ext.cc:542]   at android.os.Handler.handleCallback(Handler.java:891)
java_vm_ext.cc:542]   at android.os.Handler.dispatchMessage(Handler.java:102)
java_vm_ext.cc:542]   at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:29)
java_vm_ext.cc:542]   at android.os.Looper.loop(Looper.java:207)
java_vm_ext.cc:542]   at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:232)
java_vm_ext.cc:542]   at java.lang.Thread.run(Thread.java:784)
java_vm_ext.cc:542]
A/libc: Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 4409 (mqt_js), pid 3986 (akbankdirektdev)

设备为Huawe p20 Pro 看起来像是从React本机的JNI端触发的某种JNI错误。有任何想法吗? 谢谢

1 个答案:

答案 0 :(得分:0)

我刚刚找到了解决方案: 更新RN 0.59.9 => 0.59.10修复