执行react-native run-android时遇AsyncStorage配置错误求助
解决react-native run-android中BuildConfig字段禁用错误
问题描述
执行react-native run-android时出现以下错误:
配置项目':@react-native-async-storage_async-storage'时出现问题。
com.android.builder.errors.EvalIssueException: defaultConfig包含自定义BuildConfig字段,但该功能已禁用。
要启用该功能,请在模块级build.gradle中添加:android.buildFeatures.buildConfig true
已尝试的操作:
- 将Java版本更新至15(也试过19)
- 更换多个Gradle版本(主要为8+系列)
- 安装
npm i jetifier - 在
android/app/build.gradle中添加android.buildFeatures.buildConfig true - 参考GitHub提交的Issue建议
- 更新Android Studio
补充信息:
- 应用已上架Play Store,上次维护在三个月前
- 已将废弃的
@react-native-community/async-storage替换为@react-native-async-storage/async-storage
解决方案
1. 修正配置文件位置(临时方案)
找到项目中node_modules/@react-native-async-storage/async-storage/android/build.gradle文件,在android代码块内添加buildFeatures配置:
android { // 保留原有配置内容 buildFeatures { buildConfig true } }
修改完成后重新执行react-native run-android。注意:此修改会在npm install后被覆盖,建议配合持久化工具保存修改。
2. 用patch-package持久化修改
- 安装patch-package依赖:
npm install patch-package --save-dev
- 修改完上述模块的build.gradle后,生成补丁文件:
npx patch-package @react-native-async-storage/async-storage
项目根目录会生成patches文件夹保存修改记录,后续执行npm install时会自动应用补丁。
3. 更新Async Storage依赖版本
检查package.json中@react-native-async-storage/async-storage的版本,更新至最新稳定版:
npm install @react-native-async-storage/async-storage@latest
新版本通常已适配Gradle 8+的BuildConfig配置要求,无需手动修改文件。
4. 清理缓存后重新构建
执行以下命令清理各类缓存,再重新运行项目:
npm cache clean --force rm -rf node_modules package-lock.json npm install cd android && ./gradlew clean && cd .. react-native run-android
内容的提问来源于stack exchange,提问作者Fotios Tsakiris
相关产品推荐
相关产品推荐

