React Native项目Android构建出现lStar资源链接失败该如何排查
定位问题依赖的具体操作步骤
- 导出全量依赖树
在项目根目录的android文件夹下执行以下命令,导出所有依赖(含传递依赖)的版本清单:./gradlew app:dependencies > deps_log.txt
绝大多数该类报错都是androidx.core:core系列依赖自动升级到1.7.0+版本导致,该版本起要求compileSdkVersion ≥31,你可以优先在生成的deps_log.txt文件中搜索androidx.core相关条目,查看当前生效的版本号。 - 对比历史依赖版本
调取之前构建成功时的CI构建日志/本地留存的依赖清单,和新导出的deps_log.txt做版本对比,找到版本号发生变化的依赖,除了androidx官方库之外,重点排查你引入的React Native第三方原生组件的依赖声明。 - 验证可疑依赖
定位到版本升级的可疑依赖后,在android/app/build.gradle中添加强制版本锁定配置,示例如下:
锁定后重新执行构建,若构建成功即可确认是该依赖自动升级导致的问题。configurations.all { resolutionStrategy { // 示例:强制锁定androidx.core版本为1.6.0,该版本兼容compileSdk 28 force 'androidx.core:core:1.6.0' force 'androidx.core:core-ktx:1.6.0' } }
补充方案
你也可以选择直接将项目的compileSdkVersion和targetSdkVersion升级到31,不需要修改依赖版本即可解决该报错,前提是你的项目其他原生组件适配了Android 12的规范。
内容的提问来源于stack exchange,提问作者Eduardo Carminati
相关产品推荐
相关产品推荐

