React Native集成react-native-msal后Android端构建失败报错
React Native集成react-native-msal Android构建失败修复方案
核心问题定位
你看到的*"Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0"*只是警告信息,不是导致构建失败的根因。真正阻断编译的是日志里的9处cannot find symbol BuildConfig错误,问题来自两点:
- 主工程和react-native-msal依赖使用的Android Gradle Plugin(AGP)版本不一致
- 高版本AGP默认关闭了BuildConfig类自动生成,项目模板和依赖没有适配这个配置变更
修复步骤
- 统一AGP版本
- 打开项目根路径下的
android/build.gradle文件,记录主工程当前使用的AGP版本号 - 打开
node_modules/react-native-msal/android/build.gradle文件,将依赖中声明的com.android.tools.build:gradle版本号修改为和主工程完全一致的数值,移除版本号中的+号通配符。如果怕后续重新安装依赖覆盖这个修改,可以用patch-package工具给该依赖打补丁永久保留配置。
- 打开项目根路径下的
- 开启BuildConfig自动生成
打开android/app/build.gradle文件,在android {}配置块内添加如下配置:buildFeatures { buildConfig = true } - 清理缓存重新构建
在项目根目录执行以下命令清理旧构建产物后重新编译:cd android ./gradlew clean cd .. npx react-native run-android
其他警告说明
- 日志里的SDK XML版本不兼容警告,是本地Android SDK Command-line Tools和Android Studio版本不匹配导致,打开SDK Manager更新命令行工具到最新版即可消除,不影响正常构建
- Gradle废弃API警告不影响当前开发调试,需要定位具体来源时可以执行
./gradlew app:assembleDebug --warning-mode all查看详细的废弃调用栈
内容的提问来源于stack exchange,提问作者MoSlo
相关产品推荐
相关产品推荐

