Android Studio生成正确app-debug.apk但本地设备显示旧代码
清理Capacitor Web资源缓存
手动删除Android项目app/src/main/assets/public下所有文件,再执行npx cap sync android,重新构建Android项目。Capacitor会把React构建产物同步到这个目录,旧文件没清干净就会导致显示旧代码。彻底清除设备/模拟器的应用数据
在设备/模拟器的应用信息里,先清除应用的缓存和数据,卸载应用后重启设备,再重新安装新的APK。有些设备会缓存Web视图资源,单纯卸载可能清不干净。重置Android Studio构建缓存
点击Android Studio顶部菜单栏File->Invalidate Caches...,勾选Invalidate and Restart,等IDE重启后重新构建项目。IDE的构建缓存可能保留了旧的编译产物。严格执行React构建+Capacitor同步流程
每次更新代码后,先跑npm run build构建React项目,再执行npx cap copy android和npx cap sync android,最后再去Android Studio里构建APK。跳过任何一步都可能导致资源没更新。校验APK一致性和签名
用md5 app-debug.apk生成APK的哈希值,和同事的对比,确认你们安装的是同一个文件。另外检查Android Studio的构建变体是否为debug,签名配置是否和之前一致,签名不一致会导致设备认为是不同应用,保留旧数据。临时禁用Capacitor资源缓存(测试用)
修改capacitor.config.ts,添加server.cacheAssets: false配置:export default defineConfig({ // 其他原有配置 server: { cacheAssets: false } });同步后重新构建,测试正常后可以改回默认值。
内容的提问来源于stack exchange,提问作者richardC

