执行flutter run --no-sound-null-safety报错但构建正常如何解决?
错误原因
从运行日志可以明确,本次报错和你之前修改的compileSdkVersion、添加的权限、permission_handler依赖都没有关系,应用构建过程已经成功完成,错误出现在安装环节:
adb: failed to install D:\FlutterProjects\test\build\app\outputs\flutter-apk\app.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.tester.test signatures do not match previously installed version; ignoring!]
报错核心是你测试设备上已经安装了包名同为com.tester.test的应用,该应用的签名和当前编译出的安装包签名不匹配,安卓系统禁止签名不一致的同包名应用覆盖安装。
之前出现的编译警告都是cloud_firestore等第三方依赖的语法警告,不影响正常构建。
解决方案
- 第一步:打开测试安卓设备的应用管理,找到包名对应com.tester.test的旧应用,完全卸载干净。如果设备有工作区、多开空间、隐私空间等分区,也要检查这些分区下是否安装了同包名应用,一并卸载。
- 第二步:在项目根目录执行命令清理构建缓存:
flutter clean - 第三步:重新拉取依赖:
flutter pub get - 第四步:再次执行运行命令即可正常安装:
flutter run --no-sound-null-safety
补充说明
这个问题属于安卓应用安装的常见问题,常见触发场景包括:
- 之前在设备上安装过该应用的正式release版,正式版签名和本地debug编译的默认签名不一致
- 换了新的开发设备编译项目,不同设备生成的Flutter默认debug签名文件不同
- 之前修改过项目的签名配置,和设备上已安装的版本签名不匹配
内容的提问来源于stack exchange,提问作者Beginner_
相关产品推荐
相关产品推荐

