是否可以手动从源构建反应原生库?指南http://facebook.github.io/react-native/docs/android-building-from-source.html告诉我修改gradle文件,但这与rnpm不兼容(链接新库)。我从https://github.com/facebook/react-native/blob/master/circle.yml复制了一些命令并在node_modules/react-native
目录中运行(从源代码安装):
buck fetch ReactAndroid/src/test/java/com/facebook/react/modules
buck fetch ReactAndroid/src/main/java/com/facebook/react
buck fetch ReactAndroid/src/main/java/com/facebook/react/shell
buck fetch ReactAndroid/src/test/...
buck fetch ReactAndroid/src/androidTest/...
./gradlew :ReactAndroid:downloadBoost :ReactAndroid:downloadDoubleConversion :ReactAndroid:downloadFolly :ReactAndroid:downloadGlog
CIRCLE_BRANCH=`git rev-parse --abbrev-ref HEAD` node ./scripts/publish-npm.js
然后使用react-native run-android
成功编译项目,但运行失败并显示消息:
无法获取本机呼叫队列:桥接配置不可用。这不应该是可能的。恭喜。 (见下文)
如何修复我的编译脚本?
更新 解决了这个问题,原因是我的项目是由旧版本的react-native创建的,我用最新生成的代替了一些gradle配置,并且工作正常。
错误的行是apply from: "react.gradle"
,替换为apply from: "../../node_modules/react-native/react.gradle"
。
答案 0 :(得分:0)
可能您必须手动链接第三方库,而不是使用rnpm
。也可以使用Android Studio进行编译,如RN docs中所述。
答案 1 :(得分:0)
这似乎是一个开放的反应原生问题。请参阅this。
答案 2 :(得分:0)
使用adb reverse
adb devices
命令检查设备是否已连接。adb reverse tcp:8081 tcp:8081
react-native run-android
将您的应用配置为通过Wi-Fi连接到本地开发服务器
ipaddress:8081
阅读更多