环境:魅族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中的记录还原应用(以前装过但是被卸载掉的应用又回来了!)