执行npx react-native run-android时构建耗时且安装失败的问题
React Native Android构建失败问题排查与解决方案
核心失败原因:INSTALL_FAILED_USER_RESTRICTED: Install canceled by user
这是导致构建终止的直接原因,按以下步骤解决:
- 检查设备
M2101K6P - 12的安装权限:开启「设置 > 安全与隐私 > 未知来源应用安装」权限,确保允许来自调试的安装请求 - 确认设备是否有未处理的授权弹窗:构建过程中设备可能弹出安装确认,若被自动拦截或未及时点击允许会触发此错误,重新运行构建时留意设备弹窗
- 尝试手动安装APK:进入项目
app/build/outputs/apk/debug目录,执行命令adb install app-debug.apk,查看是否有更具体的错误提示 - 重新授权USB调试:断开设备后重新连接,在设备上确认「允许USB调试」的授权弹窗
Gradle Daemon无法复用问题
- 停止所有运行中的Gradle守护进程:执行命令
./gradlew --stop - 清理项目缓存:执行
./gradlew clean后再重新运行构建 - 检查Gradle版本兼容性:确认
gradle-wrapper.properties中的Gradle版本与项目build.gradle中配置的Android Gradle Plugin版本匹配,避免版本不兼容导致守护进程无法复用
react-native-gradle-plugin API废弃警告
- 优先升级React Native到最新稳定版本:新版本会替换废弃的API(如BaseVariant、reactRoot),从根源解决警告
- 临时忽略警告(不推荐长期使用):在
app/build.gradle中添加lint配置,屏蔽废弃API警告
android { lintOptions { disable 'DeprecatedApi' } }
NDK路径缺失文件与ReactNativeFlipper废弃API警告
- 修复NDK文件缺失:重新下载NDK 21.4.7075529版本,确保
/home/krishna/Android/Sdk/ndk/21.4.7075529目录下包含source.properties文件 - 处理ReactNativeFlipper废弃API:
- 升级React Native版本至最新,废弃API会被替换
- 若无需使用Flipper调试工具,在项目
gradle.properties中添加FLIPPER_DISABLE=true禁用Flipper,消除相关警告
内容的提问来源于stack exchange,提问作者Krish Chary
相关产品推荐
相关产品推荐

