我一直在尝试从本机0.59.4迁移到0.61.2。
在ios和android上解决了许多构建和运行时问题之后,这是在Android上成功启动我的react-native应用程序之前的最后一个问题。该应用程序将成功构建,但是当它在模拟器上启动时,它会弹出一会儿,然后出现白屏,并且应用程序崩溃并显示 app不断崩溃的弹出消息。我什至无法在chrome控制台上远程调试该应用程序,因为它首先没有启动。
有什么想法吗?
答案 0 :(得分:0)
注意:此解决方案适用于我的特定问题。要找出您的问题,请尝试adb logcat *:E
,以了解您所遇到的问题。
好吧,有一个非常重要的命令(我在Mac上),即使您无法在模拟器上启动应用程序,它也可以帮助您在日志中查看发生了什么:adb logcat *:E
在我的情况下,有两个主要问题引起了我的注意。
频道无法恢复,将被处置
和
找不到要加载的DSO:libhermes.so
一旦我收到了这些消息,我便开始为它们挖/谷歌。
经历了很多SO和GitHub主题之后,这对我有用:
首先,请确保您已对以下内容进行了所有必要的修改:
个文件(使用react-native upgrade helper执行此操作)。
然后,如果尚未安装,请执行npm install jsc-android
在项目中安装所需的jsc软件包。
在 allprojects -> 存储库
中的android / build.graddle中添加以下内容 maven {
// Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist")
}
在gradle.properties内部添加
android.useAndroidX=true
android.enableJetifier=true
在某些情况下,您可能需要将以下行添加到package.json
"postinstall": "npx jetify"
此外,在某些情况下,可能会用您正在使用的react-native的确切版本替换以下行(app / build.gradle的dependencies部分):
implementation "com.facebook.react:react-native:+"
像这样替换:
implementation "com.facebook.react:react-native:**0.61.2**"
我希望这有助于解决您的问题,或者至少在您的问题上取得一些进展。 干杯。