2017-01-14 43 views
2

只有在设备上打开时,应用程序才会立即崩溃。它在Genymotion模拟器上运行良好,但是当它在Note 2和Galaxy S7上运行时,它立即崩溃。 logcat中显示了这个错误:在Android设备上运行时应用程序立即崩溃,但在Android模拟器和iOS上运行良好

com.facebook.react.common.JavascriptException: addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component's渲染method, or you have multiple copies of React loaded

我已经删除了所有重复进口MainApplication.java,我试图升级的反应至0.40,运行watchman watch-del-all,删除node_modules文件夹,运行npm cache clean但似乎没有任何帮助

编辑

我刚刚创建了一个新的项目,我得到的装置相同的错误。什么可能导致这个? 没关系,我删除了设备上的应用程序,并重新安装,现在新项目打开罚款。

这里是我的package.json

"name": "DineSafe", "version": "0.0.1", "private": true, "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start", "test": "jest" }, "dependencies": { "parse": "1.9", "parse-react": "^0.5.2", "react": "15.4.0", "react-native": "^0.40.0", "react-native-animatable": "^1.1.0", "react-native-cacheable-image": "^1.4.3", "react-native-global-props": "^1.0.7", "react-native-image-crop-picker": "^0.11.1", "react-native-keyboard-spacer": "^0.3.1", "react-native-progress": "^3.1.0", "react-native-svg": "4.4.0", "react-native-triangle": "0.0.6" }, "jest": { "preset": "jest-react-native" }, "devDependencies": { "babel-jest": "17.0.2", "babel-preset-react-native": "1.9.0", "jest": "17.0.3", "jest-react-native": "17.0.3", "react-test-renderer": "15.3.2" }

+0

你可以请分享代码 – Codesingh

+0

,你在你的应用代码 – Codesingh

+0

中定义ref,这是你添加的第三方库吗? – Codesingh

回答

-2

我通过创建一个新项目并将所有文件复制到其中来创建它。

0

我知道了您的问题源于。有时,当您安装第三方应用程序时,这些第三方APP重新安装会对您的项目产生反应,并且这些重复版本会导致此错误。

根据您的package.json,您正在实现一些在模拟器或仿真器中正常工作的lib,但在设备上运行APP时会崩溃。

解决方案:转到您已安装并搜索反应的每个第三方APP的node_module文件夹。之后,使用npm uninstall lib_name命令删除该库并运行该项目。

+0

我检查了'node_modules'文件夹中的每个第三方依赖项。有任何其他的想法,我可以尝试?我一直在扯掉我的头发 – david2391

+0

我刚刚创建了一个空白项目,并且我得到了同样的错误 – david2391

0

就我而言,我是不小心删除了我的COM /.../ MainActivity.java & COM /.../ MainApplication.java:d​​

一旦我加入他们回来,它运行良好

相关问题