如何解决React Native - 应用在实施 HMSCore 后启动时崩溃
我尝试在 Android Emulator 上运行我们的应用,但它崩溃了,没有显示任何错误消息。它在 iOS 和 HarmonyOS 设备上运行良好。它以前工作过。我没有改变任何东西,但它在启动时开始停止应用程序。我在 Android Studio 上收到此错误消息。
2021-06-08 12:49:25.488 5944-5944/com.xxx E/HAInstanceManager: createInstance error
2021-06-08 12:49:25.590 5944-5980/com.xxx E/HMSSDK_HMSPackageManager: Failed to find HMS apk
2021-06-08 12:49:25.746 5944-5980/com.xxx E/HMSSDK_HMSPackageManager: Failed to find HMS apk
2021-06-08 12:49:25.842 5944-5980/com.xxx E/HMSSDK_HMSPackageManager: Failed to find HMS apk
2021-06-08 12:49:25.915 5944-5984/com.xxx E/HMSSDK_HMSPackageManager: Failed to find HMS apk
2021-06-08 12:49:25.933 5944-5984/com.xxx E/HMSSDK_HMSPackageManager: Failed to find HMS apk
2021-06-08 12:49:25.940 5944-5984/com.xxx E/HMSSDK_HMSPackageManager: Failed to find HMS apk
2021-06-08 12:49:25.946 5944-5984/com.xxx E/HMSSDK_SystemUtils: isSystemApp Exception: android.content.pm.PackageManager$NameNotFoundException: com.huawei.appmarket
2021-06-08 12:49:25.968 5944-5944/com.xxx E/SoLoader: couldn't find DSO to load: libjscexecutor.so caused by: dlopen failed: library "libjsc.so" not found result: 0
2021-06-08 12:49:25.972 5944-5984/com.xxx E/HMSSDK_HmsInstanceId: TokenTask failed,ErrorCode: 907135003
2021-06-08 12:49:25.974 5944-5984/com.xxx E/HMSSDK_HMSPackageManager: Failed to find HMS apk
2021-06-08 12:49:26.660 5944-5980/com.xxx E/HMSSDK_HMSPackageManager: Failed to find HMS apk
2021-06-08 12:49:26.661 5944-5980/com.xxx E/HMSSDK_AutoInit: Push init failed
2021-06-08 12:49:27.189 5944-5944/com.xxx E/HMSSDK_HMSPackageManager: Failed to find HMS apk
2021-06-08 12:49:27.314 5944-5944/com.xxx E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.xxx,PID: 5944
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference
at com.huawei.hms.rn.push.logger.HMSLogger.getInstance(HMSLogger.java:100)
at com.huawei.hms.rn.push.remote.HmsPushMessageService.onTokenError(HmsPushMessageService.java:107)
at com.huawei.hms.push.HmsMessageService.a(HmsMessageService.java:34)
at com.huawei.hms.push.HmsMessageService.a(HmsMessageService.java:29)
at com.huawei.hms.push.HmsMessageService.handleIntentMessage(HmsMessageService.java:7)
at com.huawei.hms.push.HmsMessageService$a.handleMessage(HmsMessageService.java:7)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
有没有人遇到过这个问题?我该如何解决这个问题?
解决方法
<meta-data
android:name="push_kit_auto_init_enabled"
android:value="false" />
当我们在 hms-push 包中设置 auto init false 时它起作用了。 ios设备还有另一个问题。包应该更新。
,2021-06-08 12:49:25.972 5944-5984/com.xxx E/HMSSDK_HmsInstanceId:TokenTask 失败,错误代码:907135003
此错误代码表示 HMS Core SDK 无法连接到 HMS Core (APK)。可能的原因是HMS Core进程停止或崩溃。
在非华为手机上,HMS Core作为第三方应用,可能会被系统进程杀死。因此,HMS Core 可能无法使用。
另外,非华为手机也需要HMS Core APK,应用进行开机升级。如果系统提示您升级HMS Core APK,请按照提示进行操作。
,您可能希望使用 Huawei Push Kit Automatic Initialization 方法禁用 HmsPushMessaging.setAutoInitEnabled
。
import { HmsPushMessaging } from "@hmscore/react-native-hms-push";
HmsPushMessaging.setAutoInitEnabled(false)
.then((result) => {
this.log("setAutoInitEnabled",result);
})
.catch((err) => {
alert("[setAutoInitEnabled] Error/Exception: " + JSON.stringify(err));
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。