React Native / Android-使用+符号找不到依赖项

时间:2019-07-24 13:12:15

标签: android react-native

我正在使用使用许多软件包的React Native应用程序。自从将React Native升级到0.58后,构建过程在Android上崩溃,并出现错误:找不到符号。

我发现问题在于许多第3部分软件包(例如react-native-svg)在build.gradle中都具有这样的语句:

dependencies {
    implementation 'com.facebook.react:react-native:+'
}

如果我将+更改为我正在使用的特定React Native版本,它会起作用:

dependencies {
    implementation 'com.facebook.react:react-native:0.58.0'
}

但这不是可管理的,因为这些文件位于.gitignore:d的node_modules中。例如,这意味着我每次进行npm安装时都必须更改所有这些gradle文件。在“实现”中使用+时,为什么它不起作用?

1 个答案:

答案 0 :(得分:0)

您可以使用以下命令来更改所有版本的依赖性。

sed -i -- "s/com\.facebook\.react:react-native:+/com\.facebook\.react:react-native:0.58.0/" node_modules/**/android/build.gradle
sed -i -- "s/com\.facebook\.react:react-native:+/com\.facebook\.react:react-native:0.58.0/" node_modules/**/android/app/build.gradle
sed -i -- "s/com\.facebook\.react:react-native:+/com\.facebook\.react:react-native:0.58.0/" android/app/build.gradle

在“执行”中使用+的无效点似乎是未修改Android上的.gradle,或模块引用了较旧版本的节点模块文件。