環境:魅族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\system里面的packages.xml文件拷貝到電腦上(推薦使用Android Studio自帶的Android Device Monitor),在packages.xml文件中找到包名相關的<package>標簽項刪除,在將修改后的packages.xml拷貝回去覆蓋原文件即可安裝app-release.apk。
data\system\packages.xml文件用於記錄應用屬性權限,類似注冊表,用戶如果自行刪除了該文件(我就這么干過!),PackageManagerService會重啟手機然后根據packages-backup.xml中的記錄還原應用(以前裝過但是被卸載掉的應用又回來了!)