解决魅族MX5卸载debug-app不干净,导致安装、升级不成功的问题
环境:魅族MX5,Android 5.1
问题:开发app使用真机调试后,在桌面上拖动图标卸载app-debug.apk,然后安装签名版本的app-release.apk提示替换xxx版本,按确定后提示不兼容,安装失败。
分析:已经先卸载再安装,按道理应该不会提示替换xxx,肯定是因为卸载不干净(在其他手机上就没有此类问题),应该是魅族内置的应用管理卸载的问题。
解决:1)在系统设置 - 指纹和安全 - Root权限设定中获取系统自带的Root权限,确定重启后安装RE文件管理器(可以自由浏览文件以及修改文件权限)
2)打开RE然后在data\data、data\app、data\dalvik-cache\arm64、data\dalvik-cache\profiles里面将包名相关的东西统统删除,将data\system里面的packages.xml文件拷贝到电脑上(推荐使用Android Studio自带的Android Device Monitor),在packages.xml文件中找到包名相关的<package>标签项删除,在将修改后的packages.xml拷贝回去覆盖原文件即可安装app-release.apk。
data\system\packages.xml文件用于记录应用属性权限,类似注册表,用户如果自行删除了该文件(我就这么干过!),PackageManagerService会重启手机然后根据packages-backup.xml中的记录还原应用(以前装过但是被卸载掉的应用又回来了!)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2014-12-05 C++和C#转换
2014-12-05 C#与C/C++的交互
2014-12-05 Introducing .NET Core