反应本机运行时错误:未找到本机客户端。 Bugsnag React Native是否安装在您的本机代码项目中?

时间:2019-10-04 16:40:38

标签: android ios react-native bugsnag

我正在尝试将bugsnag集成到我的本机应用程序中。该应用程序成功构建,但是在模拟器或仿真器上加载时会引发异常

await

我已经更新了AndroidManifest.xml,MainApplication.java,Info.plist,build.gradle,使其包含api-key和bugsnag-react-native都成功了。

我的package.json版本看起来像

Bugsnag: No native client found. Is BugsnagReactNative installed in your native code project?
Client

<unknown>
    global.js:4:27
loadModuleImplementation
    require.js:331:6
<unknown>
    index.android.js:9
loadModuleImplementation
    require.js:331:6
guardedLoadModule
    require.js:197:45
global code

AndroidManifest.xml

"react": "16.8.3",
"react-native": "0.59.10",
"bugsnag-react-native": "^2.23.2",

MainApplication.java

 <meta-data android:name="com.bugsnag.android.API_KEY"
               android:value="API KEY"/>

info.plist

@Override
 public void onCreate() {
    super.onCreate();
    BugsnagReactNative.start(this);
    SoLoader.init(this, /* native exopackage */ false);
  }

3 个答案:

答案 0 :(得分:0)

Bugsnag Basic Configuration中,您缺少以下内容:

  

通常在应用的入口点导入并初始化Bugsnag   index.js(或index.ios.js和index.android.js):

import { Client } from 'bugsnag-react-native';
const bugsnag = new Client('YOUR-API-KEY-HERE');

除非您从那里加载键值(我认为不是),否则info.plist文件中不需要键值

答案 1 :(得分:0)

如果您做了react-native链接bugsnag-react-native。 如果遇到此问题,则需要进行以下更改。我找到了解决方法。

在您的Android / settings.gradle中,将objc_getAssociatedObject(self, key) as? Storable ?? Property.property 放在include bugsnag-react-native

include ':app'

确保Xcode中链接了二进制文件。为此,请在Xcode中选择项目,单击构建阶段,将二进制文件与库链接,然后添加以下库。要从Xcode中的node_modules手动导入bugsnag-react-native,请点击以下链接

include ':app'
include ':bugsnag-react-native'
project(':bugsnag-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/bugsnag-react-native/android')

在您的libz.tbd and libBugsnagReactNative.a 中,将行添加到getPackages()

MainApplication.java

那应该做的。

Bugsnag文件 Manual linking

答案 2 :(得分:0)

在MainApplication.java中,您可能需要将以下内容添加到文件的顶部:

import com.bugsnag.BugsnagReactNative;