一、INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install com.xxxx.xxxx without first uninstalling.
问题原因:应用权限冲突。
即,不同的apk使用了相同的自定义权限,注意,是自定义权限。网络释义查找到的
是相同的应用,我准备直接覆盖安装(adb install)但是提示上边的错误。因为是自己的板子所以准备通过root权限,通过命令行卸载应用后再安装应用。指令如下(稍后验证,先记录指令)
adb root
adb remount
adb shell rm -rf data/data/com.xxxx.xxxx
adb shell rm -rf system/app/apk_name/
执行成功后可执行下句,重启设备
adb reboot
重启后的安装
adb root
adb remount
adb uninstall com.xxxx.xxxx
adb install -r apk
二、Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI]
问题原因:Android Studio 3.0对于通过小三角“run app” 生成的apk会自动在manifest文件中添加android:testOnly="true"属性
解决方式一:adb install -t 来安装。
解决方式二:build———>build bundle———>build apk打包
推荐第二种解决方式
三、Failure [INSTALL_FAILED_VERSION_DOWNGRADE]
问题原因:apk版本比已安装的低
解决一:提高版本号
解决二:adb install -r -d *.apk
三、 Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package xxx.xxx.xxx signatures do not match the previously installed version; ignoring!]
问题原因:签名不一致
解决方式一: 找到对应签名,重新签名。
解决方式二:卸载重装。
对于安装在系统的应用,需要完全卸载:
1. adb shell ---》进入cd /data/app或者cd /data/data,删除跟你安装的apk的包名,就是标题中package 后边的 xxx.xxx.xxx
2. ctrl+c退出系统,adb pull /data/system/packages.xml 导入文件,删除对应包名。在放回去 adb push packages.xml /data/system/packages.xml
四、INSTALL_FAILED_VERIFICATION_FAILURE
adb指令设置:
adb shell settings put global verifier_verify_adb_installs 0
adb shell settings put global package_verifier_enable 0