升级React Native 0.72后react-native-vector-icons出现Gradle依赖报错
解决Gradle任务
:app:lintVitalAnalyzeRelease的隐式依赖问题 问题说明
任务:app:lintVitalAnalyzeRelease(类型AndroidLintAnalysisTask)配置存在异常:
- Gradle检测到路径
C:\React-Projects\English-Muni\android\app\build\intermediates\ReactNativeVectorIcons存在问题 - 核心原因:该任务使用了
:app:copyReactNativeVectorIconFonts的输出文件,但未声明显式/隐式依赖,可能导致任务执行顺序错乱,引发错误结果
修复步骤
1. 修正app/build.gradle的语法错误
你的app/build.gradle中有多余的闭合括号,先修正这个问题,否则Gradle会直接报错。找到android块部分,删除多余的}:
修正后的android块:
android { ndkVersion rootProject.ext.ndkVersion compileSdkVersion rootProject.ext.compileSdkVersion namespace "com.englishmuni" defaultConfig { applicationId "com.englishmuni" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 36 versionName "1.0.32" buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString() multiDexEnabled true } }
2. 添加任务显式依赖
在app/build.gradle文件的末尾(所有apply from语句之后),添加以下代码,让:app:lintVitalAnalyzeRelease明确依赖:app:copyReactNativeVectorIconFonts:
tasks.named('lintVitalAnalyzeRelease') { dependsOn 'copyReactNativeVectorIconFonts' }
或者用另一种写法:
tasks.whenTaskAdded { task -> if (task.name == 'lintVitalAnalyzeRelease') { task.dependsOn('copyReactNativeVectorIconFonts') } }
这样配置后,Gradle会确保copyReactNativeVectorIconFonts任务先执行,生成所需的矢量图标字体文件后,再运行lintVitalAnalyzeRelease,彻底解决因执行顺序导致的路径异常问题。
内容的提问来源于stack exchange,提问作者Atul Singour
相关产品推荐
相关产品推荐

