物理设备调试时应用代码更新不生效,始终运行旧代码问题求助
解决物理设备调试应用不更新的问题
我看了你的问题描述和日志,核心问题是Android Studio没法正确把更新后的代码部署到物理设备上,导致你始终调试的是旧版本。从日志里的关键错误(比如studio.deploy找不到包、APK验证失败)来看,咱们可以一步步排查解决:
1. 清理项目并强制重新构建部署
日志里多次出现studio.deploy报错无法找到包和APK,大概率是构建缓存或部署缓存异常导致的。你可以试试:
- 点击Android Studio顶部菜单栏的
Build->Clean Project,等待清理完成后选择Rebuild Project - 之后点击
Run->Clean and Rerun 'app',强制Studio重新打包并部署最新APK
2. 手动卸载设备上的旧应用,重新安装
日志里有无法获取包用户ID:run-as:未知包的错误,说明设备上的应用可能存在安装残留或状态异常:
- 在你的物理设备上找到
com.example.todo应用,彻底卸载(记得清除应用的所有数据) - 回到Android Studio重新运行项目,让Studio重新安装最新版本的APK
3. 处理APK完整性验证失败的问题
日志中测量fs-verity失败,错误码1是系统验证APK完整性时出现的错误,可能影响部署:
- 检查Module级别的
build.gradle文件中的signingConfigs,如果是debug模式,可尝试删除本地的.android/debug.keystore文件,让Android Studio重新生成debug签名 - 在设备的开发者选项中,关闭
验证应用(或类似名称的选项,不同设备路径略有差异),绕过系统的APK完整性验证
4. 清理Android Studio缓存并重启
如果上面的方法都没效果,试试清理Studio的缓存:
- 点击
File->Invalidate Caches...,勾选Clear file system cache and local history,然后点击Invalidate and Restart - 同时可以删除项目根目录下的
.gradle和build文件夹,重启Studio后点击Sync Project with Gradle Files重新同步项目
额外注意事项
- 确保物理设备的开发者选项中
USB调试已开启,并且安装未知应用权限已授予Android Studio对应的选项 - 检查设备和电脑的USB连接是否稳定,可尝试重新插拔USB线,或切换USB连接模式为
文件传输
内容的提问来源于stack exchange,提问作者Cyber Avater




