2017-01-14 6 views
2

Приложение аварийно завершает работу только при открытии на устройстве. Он отлично работает на симуляторе Genymotion, но при запуске его на заметке 2 и галактике 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, но ничего, кажется, помочь

EDIT

Я только что создал новый проект, и я получаю ту же ошибку на устройстве. Что может быть причиной этого? Ничего, я удалил приложение на устройстве и переустановил, и теперь новый проект открывается нормально.

Вот мой 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

, где вы определяете ref в своем коде приложения – Codesingh

+0

, которые вы добавили в третью группу? – Codesingh

ответ

-2

Я получил его работу, создав новый проект и скопировав в него все мои файлы.

0

Я получил его, где ваша проблема связана с. Иногда, когда вы устанавливаете сторонние APP, эти сторонние APP переустанавливают реакцию в вашем проекте, и эти повторяющиеся версии вызывают эту ошибку.

В соответствии с вашим package.json вы реализуете некоторую библиотеку, которая отлично работает в симуляторе или эмуляторе, но сбой при запуске APP на устройстве.

перейдите в папку node_module каждой сторонней APP, которую вы установили и выполните поиск. После этого удалите эту библиотеку с помощью команды npm uninstall lib_name и запустите проект.

+0

Я проверил каждую зависимую третью сторону в папке' node_modules'. Есть ли другие идеи, которые я могу попробовать? Я разорвал свои волосы за это – david2391

+0

Я только что создал пустой проект, и я получаю ту же ошибку – david2391

0

В моем случае, я был случайно удален ком /.../ MainActivity.java & ком /.../ MainApplication.java: D

После того, как я добавил их обратно, он хорошо работает