React Native 构建新APK时未覆盖原有旧版本文件问题求助
React Native 构建APK不覆盖旧版本解决方案
该问题通常由Android Gradle Plugin版本更新后默认开启的构建缓存、增量构建逻辑变更导致,旧APK文件没有被标记为过期产物,因此构建成功后也不会被新文件覆盖,可通过以下方案解决:
- 方案1:单次构建前自动清理旧产物
执行构建命令前追加clean任务即可自动清理旧的构建缓存与输出文件:
Debug版本执行:cd android && ./gradlew clean && cd .. && react-native run-android
Release版本执行:cd android && ./gradlew clean && cd .. && react-native run-android --variant=release
Windows系统将./gradlew替换为gradlew.bat即可。 - 方案2:永久配置自动清理旧APK
打开项目路径下的android/app/build.gradle文件,在android {}配置块末尾添加如下代码:
完成后同步Gradle配置,后续所有构建操作都会自动删除旧版本APK,无需手动处理。preBuild.doFirst { // 构建前删除所有旧APK文件 delete fileTree(dir: "build/outputs/apk/", include: "**/*.apk") } - 方案3:关闭构建缓存(不推荐)
如果前两种方案无效,可临时关闭构建缓存验证,在android/gradle.properties文件中添加以下配置:
该方案会降低后续构建速度,仅建议临时排查问题时使用android.enableBuildCache = false org.gradle.caching = false
内容的提问来源于stack exchange,提问作者shogitai
相关产品推荐
相关产品推荐

