Flutter使用device_info包获取设备信息,用户更新应用是否无需卸载重装?
问题解答
核心结论
直接在Play Store点击update更新应用就完全足够,用户无需卸载已安装的旧版本重新安装,就能正常调用device_info插件获取设备信息。
逻辑说明
你之前开发时遇到的「新增device_info依赖后必须重启应用、热重载不生效」的限制仅适用于开发调试阶段:
- Flutter的热重载能力只会增量更新Dart层的业务代码,不会重新编译、加载原生侧的代码实现。
device_info属于需要调用Android/iOS原生系统API的插件,包含原生端的实现代码,因此开发阶段新增依赖后需要冷启动应用、甚至重新安装调试包才能让插件生效。 - 你上传到Play Store的1.1.0版本已经是经过完整全量编译、打包的正式安装包,
device_info运行需要的所有Dart层、原生层代码都已经提前整合到安装包内。 - 用户在Play Store执行更新操作时,系统会完整替换旧版本的全部应用文件,更新完成后用户第一次打开1.1.0版本就是完整加载了所有新功能的冷启动流程,完全可以正常调用
device_info获取设备信息。
注意事项
- 如果你为了获取设备唯一ID适配了Android高版本的权限要求,仅需要确保1.1.0版本的安装包内已经正确声明了所需权限、配置了对应的权限申请逻辑即可,和用户选择的更新方式没有关联。
内容的提问来源于stack exchange,提问作者wahyu
相关产品推荐
相关产品推荐

