我正在尝试集成最新的React Native版本,并遇到了错误。这是我的项目设置:
在应用的build.gradle文件中,我导入了React Native 0.24.1:
dependencies {
...
compile 'com.facebook.react:react-native:0.24.1'
}
该项目的 build.gradle 文件指向了一个 Git 子模块中的 React Native:
allprojects {
repositories {
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$projectDir/../MyGitSubmodule/AwesomeProject/node_modules/react-native/android"
}
}
}
我已经按照文档这里所述进行了整合,并根据这里的文档升级了RN的git子模块。我已经将我的堆栈跟踪上传到了pastebin链接。总结一下堆栈跟踪,由于格式难以阅读,以下是要点:
- 找不到生成的com.facebook.react.views.text.ReactVirtualTextViewManager类的setter -- 这适用于大量Native类。也许所有的类都是如此。
- 错误:需要未知模块“ReactPerf”。如果您确定该模块存在,请尝试重新启动打包器或运行“npm install”
- JS Exception: Error: 需要引用抛出异常的“23”模块
- JS Exception: ReferenceError: 找不到变量:__fbBatchedBridge
- 此外,模拟器显示红色死亡屏幕,其中包含以下消息 -- “错误:需要引用抛出异常的“8”模块”
apply from: "../MyGitSubmodule/AwesomeProject/node_modules/react-native/react.gradle"
来解决了这个问题。我不想将其作为答案添加,因为我无法准确地解释它的作用。我知道JavaScript存在一些打包问题。react.gradle似乎正在创建一个bundle,但我猜这并不是事实,因为我能够在模拟器中重新加载JS。我希望有更多了解的人能给出一个更明确的答案。 - Mike Ortiz