会话“ app”:启动错误


97

在gradle构建完成的Android Studio 2.0更新之后,我得到以下信息:

会话“ app”:启动错误。

它阻止了该应用程序启动,但已安装在我的模拟器中。这是“运行”选项卡中显示的内容:

执行时发生意外错误:am start -n“ com.example.user.ypologismosmoriwn / com.example.user.ypologismosmoriwn.MainActivity” -a android.intent.action.MAIN -c android.intent.category.LAUNCHER启动活动时出错

这是代码:

package com.example.user.ypologismosmoriwn;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

这只是一个空的活动,没有添加任何内容

XML代码只是具有4个文本和3个复选框的相对布局

这是我得到的日志猫

谢谢任何愿意帮助的人


1
您编辑清单文件了吗?请检查一下。
Mounir Elfassi '16

另一本 日志
John R.

您的清单是什么样的?
ninjahoahong '16

这是默认的清单,请看一下清单
John R.

我已通过从AS安装前卸载应用程序解决了该问题(在我的Anroid手表Moto 360上)
Kiryl Ivanou 16/10/14

Answers:


128

我更新到AS2.0后也遇到了这个问题。我发现这是因为instant run启用了。因此,我的解决方案是禁用“即时运行”。而且有效。要禁用“即时运行”,可以转到Preference Dialog(在Windows上可能是“设置”对话框),然后选择Build, Execution, Deployment> Instant Run,然后取消选中所有复选框以禁用Instant Run

这是我的临时解决方案,可能会对您有所帮助。稍后,我将找到解决此问题的更好方法。


于2016/06/06更新

一个更好的解决方案,而不是禁用它instant run。删除.idea文件夹和.gradle文件夹,然后单击按钮Sync Project with Gradle Files(或通过菜单File-> Sync Project with Gradle Files),完成此过程后,您可以正常运行应用程序。

祝你好运


1
禁用即时运行会停止会话“应用程序”:错误启动活动错误。尽管如此,该应用程序仍无法在模拟器中自动启动。
John R.

2
每次运行之前,我们需要删除.ideagradle文件夹吗?
VSB

1
不,只是第一次
Nick

1
我只是做了gradle同步来解决它。一直让我发疯,直到找到这个线程。就我而言,我早些时候已重命名了applicationId来导致此问题。
比较成熟的

3
如果从设备安装应用程序后遇到此问题,则该应用程序仍可能退出,请尝试检查设置->应用程序->删除应用程序。然后尝试运行该应用程序。它为我工作。
amj

51

如果您使用的是Android 7.0及更高版本,则该应用可能已安装在两个位置(来宾和管理员),并且仅针对一位用户卸载了该应用,这会引起问题。

要解决此问题,请转到: 设置 -> 应用程序和通知 -> 查看所有应用程序 ->查找您要安装的应用程序。

在此处输入图片说明 在此处输入图片说明

然后点击右上角的菜单,然后为所有用户选择卸载

在此处输入图片说明

从Android Studio运行您的应用程序即可。


Android 7.0设备中也可能存在此问题。此解决方案有效!
Maverick19年

这个问题最近困扰了我两次。您的方法与我在medium.com/@kaikoenig / ...中使用的方法相同。谢天谢地,我发现了这种方法!
贾恒

34

尝试重新安装应用程序,这为我解决了错误。诀窍是,我卸载了我的应用程序,但Android并未真正卸载它。我的手机上有一个来宾用户(我姐姐有时会用它)。如果您从主要用户卸载应用程序,则该应用程序仍将在手机上可用,但仅对来宾用户可用。看来Android Studio无法处理这种情况。我猜它检测到已安装该应用程序,因此不会为当前用户重新安装该应用程序,因此操作系统无法访问和启动活动。不错的错误,我会报告。


1
这就是帮助我的-非常有趣的Android行为
d4c0d312 '18

这也是我的情况,谢谢您找到这个!
朱利安·本马

当没有其他方法起作用时,这也是我的情况。我可以在Android Studio中构建应用程序,但无法在设备上运行它,这特别有趣。快速adb uninstall的把戏!
乍得·舒尔茨

21

我遇到过同样的问题,重建项目可以为我清除错误。

生成->重建项目->运行


1
到目前为止,最简单的解决方案!
新星

唯一正确的。禁用“即时运行”是完全错误的,因为实际上它可以在99%的情况下正常运行。
madhead '16

9

这是2.0+ Studio的问题

问题206036:无本地更改,未部署APK

我在这里找到了不错的解决方法 只需在编辑配置中在此处添加-r标志并禁用即时

在此处输入图片说明

等待获得即时运行功能,很快将平稳运行,而没有3类错误!!


1
@RanjithKumar,您需要为每个项目添加此设置,而我正在做的是,尽管它显示错误,但安装了新的apk,然后您可以调试或随后使用它。还要取消选中“杂项”选项卡中的“跳过安装”
Rahul

7

对我来说,问题是我尝试启动的应用程序已经安装在手机上的其他用户帐户下。我去设置->应用程序以卸载它时看到了这一点。我切换到另一个用户,将其卸载,然后又恢复为原始用户,并且能够从Android Studio安装和启动该应用程序而没有更多问题。


4

在这个确切的问题上,我花了很多时间。“即时运行”修复程序完全失败。而且我没有错过,android.intent.category.LAUNCHER 我删除了所有适用的Android Studio和SDK代码并重新安装。还是不行。

最终,我认为我的问题是边际硬件。我正在使用AMD A6-4400M处理器的笔记本电脑上运行。没有可用的硬件加速/虚拟化工具。我只是运行标准的Android Studio / Google仿真器。速度非常缓慢,尽管我最终能够看到模拟器并与其进行交互,但我始终无法将模拟器连接到Android Studio以上传APK。

但是我确实发现了一个很棒的修复程序。

  • 删除所有Android虚拟设备并安装GenyMotion模拟器(带有VirtualBox)。
  • 我以前(在Linux上)尝试过GenyMotion模拟器,但在加载速度上并没有太大的区别。
  • 在这台Windows 10机器上,它运作异常出色。它非常快速,轻松地连接到Android Studio,并且可以很好地部署我的应用程序。
  • GenyMotion免费提供一种个人使用设备。GenyMotion团队敬上!

如果有人因该错误(可能是根本原因)而陷入困境,请在此处提供答案。


3

我遇到了同样的问题,并用这个答案解决了

但是这个问题是我自己创建的,因为我尝试调试单元测试。因此,我必须Use in-process buildBuild, Execution, Deployment>中取消选中“ AS设置”选项Compiler

因此,就我而言,如果我禁用了它,它就可以工作instant run。但它也可以,因为我能instant run 也是Use in-process build选项。


3

只需adb uninstall <package name>在您的终端中运行,然后重新安装该应用即可。

希望能帮助到你。


并获得软件包名称,请使用adb shell pm list packages
h8pathak '19

2

同样的问题,但对我来说,问题是Android Studio找不到我的默认活动。当我指定意图过滤器以捕获MAIN操作意图时,我没有指定LAUNCHER类别,这导致了“错误启动活动”问题。

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />  <-- forgot
    </intent-filter>

1
即使我没有进行任何更改,问题仍然存在,这是默认的新项目。可能是在2.0 Android Studio更新后造成的。
John R.

2

只是Run --> clean and rerun,对我而言,它会有所帮助。像以下消息一样自动提示

您会卸载已经安装的同名活动吗?

如果已经安装了活动,请先将其卸载,然后在安装应用程序后使项目准备就绪。


2

由于我的愚蠢,我遇到了这个错误。在manifest.xml中,我错误地将两个Activity声明为Launcher。确保只有一个活动作为启动器。

    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

   <activity android:name=".WelcomeActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

1

我在android studio 2.1.2中遇到了同样的问题,但是在选择Build-> Clean Project或Run-> Clean and Rerun之后工作了


1

我尝试了所有建议的答案。我发现这是Studio N 2.3版的Android N手机的硬件问题。在版本7以下的手机上,应用可以正常启动。


1

我已使用此解决方案解决了该问题。如果您正在USB设备中运行该应用程序,请关闭所有虚拟设备,例如:genymotion / virtual machine。


1

只需禁用即时运行即可。

Go To File >> Settings >> Build, Execute, Deployment >> Instant Run

取消选中显示以下内容的框Enable instant run to hot swap code/resource changes on deploy

重新运行模拟器。


1

确定已经有很多解决此问题的方法,如果这些方法都不起作用,请尝试此方法。

第一次卸载应用程序,然后尝试从ADB重新安装时,我遇到了这个问题。但是,在尝试了许多解决方案之后,我意识到如今卸载应用程序并不能真正将其卸载。它只是禁用了几天,以便在您改变主意时可以启用它。

现在,我不确定它是由LG还是Native Android Nougat完成的。

我只是进入设置->应用程序->我的应用程序,并将其完全卸载。之后,可以从Android Studio重新正确安装该应用程序,而不会出现此错误。


是的,我讨厌这个功能。如果我卸载了它,那么我就不要了。我花了一段时间才弄清楚出了什么问题。
巴拿马杰克

1

如果applicationId启动活动或模块名称包中包含error子字符串,则Adb也会引发此错误


哦,我的天哪,我希望我能亲吻你。两年来我一直在处理这个问题。
Bassinator

Google,为什么?我要求知道谁负责这个草率的驴编程。
死刑官

1

现有的答案均无济于事,因为我在其他个人资料中安装了相同的应用程序。解决方案-

  1. 切换到其他个人资料
  2. 从第二个配置文件卸载应用
  3. 转回

0

我尝试了以上答案。但是,没有一个解决方案对我有用。我将仿真器更改为USB,并且代码已在USB目标设备上完美运行!


我的模拟器也没有问题,仅在我的Android手表“ Moto 360”上。我已经修复了该问题,方法是在成功从AS上安装该应用之前和之后,从设备上卸载该应用!
Kiryl Ivanou

0

所有答案都对我不起作用。当我尝试重命名应用程序包时出现此错误。


那是多么可悲.. :(
simo


0

它发生在我更改应用gradle文件中的applicationId时。我同步gradle后,它对我有用。


0

在真实设备或仿真器上卸载App。然后再次运行。对我有用。我使用的是Android Studio 2.3.3


0

我试过了,clean & rebuild project并且Invalidate Cache & Restart也手动删除.gradle.idea文件夹,但没有解决问题。

我的手机中有3个用户帐户。因此,我没有为所有用户选择“ 卸载”,而是仅从第一个用户帐户中卸载了我的应用程序但它仍在来宾第二个用户帐户中存在

因此,我从其余帐户中删除了它,并解决了我的问题!!


0

我有同样的问题。我正在将AVD与手臂处理器图像一起使用,并收到了相同的消息。使我的Android Studio 2.1.2即时运行应用程序的唯一方法是更改​​为X86处理器映像。错误消失了,并且(直到现在)我认为仿真器的工作速度比ARM仿真的工作快。我的工作站配置是Intel I5,6Gb RAM。也许这有助于下一次修复。


0

禁用“即时运行”,可以转到“首选项对话框”(在Windows上可能是“设置”对话框),然后选择“构建”,“执行”,“部署”>“即时运行”,然后取消选中所有复选框以禁用“即时运行”。

并重新启动设备,这应该会使事情正常进行。...即时运行在Android Studio 2+中有错误,这应该可以解决问题


0

我遇到了同样的错误。此问题是由从设备上卸载应用程序引起的(仅由1位用户卸载)

通过登录其他用户并从那里卸载应用程序来解决。

它解决了。


0

我做了上面所有的建议,但是没有用!我重建了项目,从真实设备上卸载了该应用程序,拔下了USB,然后运行Android Studio并在真实设备上运行了该应用程序,问题不再存在。

希望这可以帮助!


0

我有与标题相同的错误。在更改gradle中的版本名称和版本代码后,发生了同步,然后该同步成功了。因此有时甚至同步也可能会有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.