問題
這兩天用小米手機debug,完全卸載之後發現總是報錯INSTALL_FAILED_VERSION_DOWNGRADE
或者INSTALL_FAILED_ALREADY_EXISTS
,
AS的命令行中顯示:Unknown failure (Failure - not installed for 0) Error while Installing APKs
按理說應用已經卸載了,很是奇怪,不論是從應用商店下載的線上App,還是重新打包好的均無法安裝。證明肯定是卸載有殘留。
首先使用adb查看安裝包列表
adb shell pm list packages | grep 'com.example.myapp'
發現已經不存在了,證明真的是卸載了,愈發奇怪了。
然後想到報錯說INSTALL_FAILED_VERSION_DOWNGRADE
,也就是想要安裝的App版本比之前卸載的版本要低,所以想使用adb查看VersionCode,果然發現有端倪。使用以下命令查看安裝包versionCode,注意把其中的my.package換成自己的包名
adb shell dumpsys package my.package | grep versionCode
顯示versionCode=90990095,如下圖:
彈出刪除對話框,也刪除不了:
adb shell am start -a android.intent.action.DELETE -d package:com.sogou.map.android.maps
解決
兩種方法:
在手機中禁止MIUI優化
設置->更多設置->開發者選項->啓用MIUI優化,選擇關閉,重啓手機在Android studio的設置中禁止Instant Run
File->Settings->Build, Execution, Deployment->Instant Run(把最上面的勾去掉)