我的远程调试(通过Chrome使用React-native dev工具0.14.8)以前工作正常。
我不确定两者之间究竟发生了什么(我升级到react-native 0.21,对android studio进行了更新,使用apt-get update / upgrade更新了Linux Mint 17.3。)
但现在我所看到的只是 “请等一下 在我的模拟器上连接远程调试器“约5-8秒,然后我收到错误(参见附图): “无法与远程调试器连接”
我尝试重新安装Chrome React原生扩展程序。尝试重建我的应用程序。没有帮助。 我不确定问题出在哪里。可能我只需要增加连接超时的值..但似乎没有像这样的选项。
下面也是我的package.json(由于各种依赖性问题,需要花费几天的时间来完成0.20到0.21的升级)。 可能有一个我失踪的新设置,有人可以指出。
{
"name": "ftesting",
"version": "1.0.0",
"description": "ftesting desc",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node_modules/react-native/packager/packager.sh",
"android-setup-port": "adb reverse tcp:8081 tcp:8080",
"test": "eslint ./src/js.app/my.forms",
"start": "rnws start",
"clean:babelrc": "find ./node_modules -name react-packager -prune -o -name '.babelrc' -print | xargs rm -f",
"postinstall": "npm run clean:babelrc"
},
"repository": {
"type": "git",
"url": "xyz" },
"keywords": [
"ftesting"
],
"author": "ls",
"license": "MIT",
"engines": {
"node": ">=4",
"npm": ">=2 <4"
},
"devDependencies": {
"babel-eslint": "^6.0.0-beta.1",
"babel-preset-es2015": "^6.6.0",
"babel-preset-react": "^6.5.0",
"babel-preset-stage-1": "^6.5.0",
"eslint": "~2.2.0",
"eslint-loader": "^1.1.1",
"eslint-plugin-react": "^4.2.0"
},
"dependencies": {
"react-native": "^0.21.0",
"@remobile/react-native-splashscreen": "^1.0.3",
"react-native-blur": "^0.7.10",
"react-native-htmlview": "^0.2.0",
"react-native-material-kit": "^0.3.0",
"react-native-material-design": "^0.3.3"
}
}
答案 0 :(得分:2)
此问题已发布github问题。你可以按照那里: https://github.com/facebook/react-native/issues/6390
答案 1 :(得分:0)
对于其他人来说,这可能是个愚蠢的问题,如果它有帮助,对我来说,当我连接wifi时问题就解决了(我断开了它):
我意识到这是一个连接问题,当我从浏览器请求反应原生的url获取index.bundle(设备应用程序中的配置设置中的那个)并发现它可以访问...
我正在使用0.25.0-rc
答案 2 :(得分:0)
现在肯定有用了。 用0.25.1测试 查看链接的github问题中的回复。
总的来说,我认为最大的问题是,一旦本地团队解决了0.21中引入的原始问题,他们就改变了构建应用程序的方式。
如果你没有改变,错误是显着的。因此在调试/构建过程中无法捕获它。
自2016年2月以来,您不再需要从maven存储库中提取react-native jar。相反,您需要将gradle.build指向npm-modules位置的react-native jar
allprojects {
repositories {
mavenLocal()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$projectDir/../../node_modules/react-native/android"
}
}
}
然后
compile "com.facebook.react:react-native:+"
上述这些变化的组合,允许我链接到反应原生jar的最新副本,而不是从maven中拉出0.20.1(并注意到maven的0.20.1自2016年2月以来未被修改)。
答案 3 :(得分:0)
这适用于使用react-native init创建或从expo弹出的应用。 从以下位置启动应用程序:
$all = Exam::with(['questions','questions.choices'])->where('exam_id', $examID)->get();
仿真器将显示红屏调试器连接错误(这就是为什么我们首先出现在这里)
使仿真器处于聚焦状态,然后按:
react-native run-android
或来自shell问题:
Ctrl+M
应用程序内开发人员菜单将出现:
点击
adb shell input keyevent KEYCODE_MENU
选择选项:
Dev settings
然后输入:
Debug server host & port for device
现在,我们将在仿真器的8081端口中调用与主机上相同的端口。 从外壳执行:
localhost:8081
准备就绪,只需重新启动应用程序
adb reverse tcp:8081 tcp:8081