生成React Native调试APK遇Gradle任务依赖错误,求解决方案
解决React Native Camera Roll构建时的Gradle任务依赖错误
针对你遇到的extractDebugAnnotations任务依赖问题,这里有几个可行的解决方案:
方案1:清理缓存并重新构建
这是最基础的修复步骤,先彻底清理构建缓存和依赖:
- 删除项目根目录的
node_modules文件夹,重新安装依赖:rm -rf node_modules && npm install # 若使用yarn:rm -rf node_modules && yarn install - 进入
android目录,清理Gradle缓存和构建输出:cd android ./gradlew clean rm -rf .gradle build - 返回项目根目录,重新生成调试APK:
npx react-native run-android --variant=debug
方案2:手动修复Camera Roll库的Gradle依赖声明
问题根源是库的extractDebugAnnotations任务未声明对compileDebugAidl的依赖,可手动修改库的构建配置:
- 打开路径:
node_modules/@react-native-camera-roll/camera-roll/android/build.gradle - 在文件末尾添加任务依赖配置:
tasks.named('extractDebugAnnotations') { dependsOn 'compileDebugAidl' } tasks.named('extractReleaseAnnotations') { dependsOn 'compileReleaseAidl' } - 保存文件后重新执行构建命令:
npx react-native run-android --variant=debug
注意:该修改会在重新安装依赖后被覆盖,可使用patch-package工具将修改做成持久化补丁,避免重复操作。
方案3:升级或降级库版本
检查@react-native-camera-roll/camera-roll的版本更新,尝试切换到兼容版本:
- 升级到最新兼容版本:
npm install @react-native-camera-roll/camera-roll@latest # 或yarn add @react-native-camera-roll/camera-roll@latest - 若最新版本仍有问题,尝试降级到已知兼容版本(如7.4.0,需确认与RN 0.72.5兼容):
npm install @react-native-camera-roll/camera-roll@7.4.0
方案4:临时禁用注解提取(调试应急用)
如果上述方案均无效,可临时关闭注解提取任务:
- 打开项目
android/build.gradle文件 - 在
allprojects代码块中添加如下配置:tasks.withType(com.android.build.gradle.tasks.ExtractAnnotations) { enabled = false } - 重新构建项目
内容的提问来源于stack exchange,提问作者Raja Kumar
相关产品推荐
相关产品推荐

