用android studio直接安装(Run)apk时报错: xxx.apk does not exist on disk.Error while Installing APK

图1.


如图1,我在用android studio直接运行(run)项目时报出了这个错,而之前这项目已经反复run过很多次了。这个问题应该是不常见,而且我现在也没有弄明白这是as的bug还是自己项目配置出错,反正出现这个问题挺意外的,可以先看下这个链接:https://blog.csdn.net/ouyang_peng/article/details/51243441,看评论似乎是好多人按照里面所说的方法去做解决了问题,但我按照里面说的去做没有解决问题,看了一下apk的输出目录,如图2所示,在这个路径下确实存在好几个apk,但为什么安装时不从中选择一个安装,而是一直安装一个磁盘上已经不存在的apk呢?而且从apk的名字上看,这个apk显然是之前更早的版本(2018年6月28日的版本),我首先想的是as安装apk到设备上是借助于adb去实现的,然后在as的设置(Settings)中有关adb的部分也许能手动修改apk的来源(路径),然后我找了半天也没有在as中找到关于adb的设置部分,这个方向也许是错的。

图2.

后来我又想,平时用as创建一个项目后,直接点击run,每次都会安装默认路径下的apk,也就是没签名之前都是安装debug版的,安装路径如下图3。这种方式一直没错,但签名后(并且在gradle中做了打包apk时自动改名的配置)再run就不行了?难道是每次clean或者rebuild的时候因为会把之前的apk都删除就导致后来run的时候找不到原来的apk了?不会啊!因为每次run都能看到会生成一个新的apk,按理说应该安装这个新apk才对,而不应该去安装之前的旧apk啊......就这样,我似乎又回到了刚才考虑的"adb安装apk的路径可以自己改动"的思路上了,最后决定先放弃,不再刨根问底,因为问题已经解决了,只是不知道为什么会出现这个问题而已。

图3

扫描二维码关注公众号,回复: 3765098 查看本文章

如图4,也是在as的右边面板gradle中,打开Tasks目录下的install文件夹,里面都是关于install或者uninstall的命令(或说工具),你选择一个相应installXxx,双击一下就能正常安装了,我是通过这种方式解决的问题。如果这种方式还不行,那么最终的杀手锏就是别用as直接run了,不够跟它费心的,你直接找到apk,然后adb install 一下就OK了,从此这个世界清净了......

图4.


其实这篇博客用几句话和这几张图很简单就能说明怎么处理了,但说了一大堆的废话,其实是希望知道为什么出现这个问题的各位能给留言说一下,哈。


猜你喜欢

转载自blog.csdn.net/Builder_Taoge/article/details/80860373