Android Studio中应用程序安装失败

177

昨天我的应用程序从Android Studio运行得很完美,但今天当我开始工作并运行它时,我一直收到错误消息

安装失败,提示“无法建立会话”。

屏幕截图如下:

输入图像描述

点击确定后,出现以下错误信息:

会话'app':安装APK时出错

而且应用程序在设备中不存在(已卸载)。请建议我该怎么做?


1
Kapil Rajput,我也在将Android Studio 2.2更新到2.3后遇到了这个问题。 - Dileep Patel
1
在经过大量研究后,这对我起作用了。 - Bharat Kumar Emani
这在我经过很多在Android Studio中的研究后成功了。链接描述 - Bharat Kumar Emani
@Kapil Rajput,请检查我的解决方案,因为它是有效的 ;) - 自从我发布以来,很多人开始复制它 - Ginggas
1
现在我最讨厌的是Android Studio...哦...想念那些和Eclipse一起度过的美好时光。 - Shirish Herwade
显示剩余12条评论
33个回答

355

在这个问题中,我发现 Instant Run 也存在一些错误。当我禁用 Instant Run,并再次运行应用程序时,应用程序能够成功安装到设备上,而不显示任何错误窗口。

我希望 Google 能够尽快解决这些与 Instant Run 相关的问题。

禁用 Android Studio 中的 Instant Run 步骤:

文件 > 设置 > 构建、执行、部署 > Instant Run > 取消选中 (启用即时运行以热交换代码)


10
没有禁用MIUI优化的情况下,它也可以在MIUI ROM上运行。当禁用MIUI优化时,一些权限会自动授予应用程序,如Windowmanager权限。 - prakash ubhadiya
3
这解决了我使用三星手机遇到的同样问题! - Yuki Kutsuya
11
在 Mac 上,打开 Android Studio > 点击“Preferences” > 打开“Build, Execution, Deployment” > 进入“Instant Run”选项卡 > 取消勾选“Enable Instant Run to hot swap code”。 - Vinoth Anandan
1
禁用即时运行是一个真正的解决方案吗?它非常有用。 - M. Azyoksul
5
Android Studio 3.5(从3.3升级而来)仍存在问题,但不能进行控制。在“文件”>“设置”>“构建、执行、部署”下有以下选项:Gradle、Debugger、Remote Jar Repositories、Compiler、Coverage、Deployment、Espresso Test Recorder、Required Plugins。没有选项可以控制即时运行! - Quigi
显示剩余4条评论

111

如果你使用MIUI ROM

进入开发者选项并禁用MIUI优化。手机将要求您重新启动。 重新启动后,运行该应用程序。


1
希望 MIUI 的开发人员能尽快修复这个问题。 - ospider
这对我很有帮助。MIUI - nutella_eater
我有三星S7手机,但在开发者选项中无法看到MIUI选项,能否有人帮忙解决一下? - Utsav Gupta
MIUI选项仅适用于小米手机。 - Vivian Dbritto
这就是我多年来一直缺失的解决方案,谢谢伙计 :) - Ramkesh Yadav

51

你的 APK 文件丢失了。所以,清理项目 >> 构建 APK >> 运行 该项目。


为我工作 清理项目 >> 重建项目 >> 构建APK >> 运行 - Afzaal Ahmad
3
你可以跳过 "构建 APK" 此步骤。 - Sarvesh Thiruppathi
不幸的是,清理并没有解决我的问题。我也关闭了即时运行。 - Someone Somewhere
@SomeoneSomewhere,“apk missing”和“build apk”是关键词,而“clean project”则是为了保险起见。 - roy
问题在于模拟器没有足够的存储空间,而Android Studio尽管努力让人满意,但只是简单地显示“安装失败”。 - Someone Somewhere

31

对于使用小米手机的用户,请按以下步骤操作:

  1. 设置-> 更多设置-> 开发者选项

  2. 关闭MIUI优化并重新启动您的手机

  3. 最后禁用USB调试中的应用验证

这样您的设备就会正常响应。

另外,请启用通过USB安装应用程序的功能。


感谢您:)将此标记为解决方案 - user7939485
太好了,这对我有用。我已经重新启用了“通过USB验证”,现在它仍然可以工作,至少目前是这样。 - Violet Giraffe

20

当我尝试使用小米的Mi5和Mi4手机测试应用程序时,我在Android Studio 2.3中遇到了同样的问题。禁用即时运行对我没有帮助。因此,这是我所做的。


Turn Off MIUI optimization in the Developer Options in the phone.

输入图像描述
输入图像描述

然后设备将会重新启动,之后您就可以在手机上测试该应用程序。

使用这种方法,您仍然可以在Android Studio中使用即时运行选项。因此,这将至少暂时解决您的问题。希望我们能在未来的更新中能够使用MIUI优化 :)


19

在我的情况下,是因为我的模拟器磁盘空间不足。


3
我也是。我编辑了模拟器设置以增加内存:工具 -> AVD管理器 -> 编辑(笔形图标)-> 显示高级设置 -> 增加内部存储。 - Someone Somewhere
1
在我的情况下,是因为我的设备没有空间了。删除了一些应用程序后,一切都像魔术般地正常工作了!谢谢! - Jorge Casariego
1
增加内部存储空间后,不要忘记重新启动模拟器。 - Wirling

11

在我的情况下,这是一个非常愚蠢和有趣的错误。我无意中勾选了“Android Debug Bridge,使用libUsb后端”,实际上应该取消勾选。

在Mac Pro中,进入“首选项”- >“构建、执行、部署”- >“调试器”。输入图像描述


为什么会发生这种情况? - SalahAdDin

10

**** 适用于MAC OSX/Windows ****

前往 *

Android Studio - 首选项 (在OSX中)

Android Studio - 文件 -> 设置 (在Windows中)

  • 在菜单栏中选择

构建、执行、部署 - 即时运行

  • 然后取消勾选并重新编译,它就可以正常工作了

9

终于解决了!

下面是一个临时解决方案。该问题已报告给Google。

首先,我在运行日志中发现Android Studio 2.3试图从许多切片中安装app-debug.apk,如下所示:

$ adb install-multiple -r E:\Android_Projects\ActivityLifecycle\app\build\intermediates\split-apk\debug\slices\slice_1.apk E:\Android_Projects\ActivityLifecycle\app\build\intermediates\split-apk\debug\dep\dependencies.apk E:\Android_Projects\ActivityLifecycle\app\build\intermediates\split-apk\debug\slices\slice_0.apk E:\Android_Projects\ActivityLifecycle\app\build\intermediates\split-apk\debug\slices\slice_2.apk E:\Android_Projects\ActivityLifecycle\app\build\intermediates\split-apk\debug\slices\slice_9.apk E:\Android_Projects\ActivityLifecycle\app\build\intermediates\split-apk\debug\slices\slice_4.apk E:\Android_Projects\ActivityLifecycle\app\build\intermediates\split-apk\debug\slices\slice_3.apk E:\Android_Projects\ActivityLifecycle\app\build\intermediates\split-apk\debug\slices\slice_5.apk E:\Android_Projects\ActivityLifecycle\app\build\intermediates\split-apk\debug\slices\slice_8.apk E:\Android_Projects\ActivityLifecycle\app\build\intermediates\split-apk\debug\slices\slice_7.apk E:\Android_Projects\ActivityLifecycle\app\build\intermediates\split-apk\debug\slices\slice_6.apk E:\Android_Projects\ActivityLifecycle\app\build\outputs\apk\app-debug.apk

然后我尝试通过以下方式仅从命令行安装app-debug.apk

adb install -d E:\Android_Projects\ActivityLifecycle\app\build\outputs\apk\app-debug.apk

应用程序已成功安装,但无法在我的手机上运行。

最后:

  1. 我从命令行重新编译了app-debug.apk

gradlew.bat assembleDebug

  1. 重复从命令行安装app-debug.apk并感到非常高兴:

adb install -rd E:\Android_Projects\ActivityLifecycle\app\build\outputs\apk\app-debug.apk

这明显是AndroidStudio 2.3 Gradle的问题。


我的多dex apk是由Android Studio 2.3.3生成的,当通过adb命令行安装apk时,启动时崩溃了。通过命令行Gradle重新组装apk解决了这个问题! - Yuntao

9

前往Build --> Clean Project --> 运行

就是这么简单。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接