ChatGPT解决这个技术问题 Extra ChatGPT

会话“应用程序”:启动活动时出错

在 gradle 构建完成后更新 Android Studio 2.0 后,我得到了这个:

会话“应用程序”:启动活动时出错。

它会阻止应用程序启动,但它已安装在我的模拟器中。这是运行选项卡中出现的内容:

执行时出现意外错误: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 个复选框的相对布局

This is the logcat i am getting

感谢任何愿意提供帮助的人

你编辑你的清单文件了吗?请检查一下。
另一个Log
你的清单是什么样的?
这是默认清单,看看Manifest
我已经通过在从 AS 安装之前卸载应用程序解决了这个问题(在我的 Anroid watch Moto 360 上)

b
bv.

我更新到 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),此过程完成后,您可以正常运行您的应用程序。

祝你好运~


禁用即时运行停止了会话“应用程序”:错误启动活动错误。尽管如此,应用程序不会在模拟器中自动启动。
我们是否需要在每次运行前删除 .ideagradle 文件夹?!
不,只是第一次
我只是做了一个 gradle sync 来解决它。在我找到这个线程之前让我发疯。就我而言,我早先重命名了 applicationId 以导致此问题。
如果您在从设备安装应用程序后遇到此问题,应用程序可能仍会退出,请尝试检查设置 -> 应用程序 -> 删除应用程序。然后尝试运行该应用程序。它对我有用。
E
EdgeDev

如果您使用的是 Android 7.0 及更高版本,则该应用程序可能安装在两个位置(访客和管理员),并且您仅为一个用户卸载了它,这会导致问题。

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

https://i.stack.imgur.com/YNG4m.png

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

https://i.stack.imgur.com/8it1j.png

从 Android Studio 运行您的应用程序,它应该可以工作。


此问题也可能存在于 Android 7.0 设备中。此解决方案有效!
这个问题最近困扰了我几次。您的方法与我在 medium.com/@kaikoenig/… 中使用的方法相同。感谢上帝,我找到了这种方法!
k
klenium

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


这对我有帮助 - 非常有趣的 Android 行为
这也是我的情况,谢谢你找到这个!
这也是我的情况,当时没有其他方法。特别有趣的是,我可以在 Android Studio 中构建应用程序,但无法在设备上运行它。一个快速的 adb uninstall 成功了!
s
spek

我有同样的问题,重建项目为我清除了错误。

构建 -> 重建项目 -> 运行


迄今为止最简单的解决方案!
而唯一正确的。禁用“即时运行”是完全错误的,因为实际上它在 99% 的情况下都可以正常工作。
R
Ranjithkumar

这是 2.0+ 工作室的问题

问题 206036:没有本地更改,没有部署 APK

我发现很好的解决方法 here 只需在编辑配置中添加 -r 标志并禁用即时

https://i.stack.imgur.com/HhCgx.png

等待即时运行功能很快运行顺利,没有类型 3 错误更多!


@RanjithKumar,您需要为每个项目添加此设置,我正在做的是虽然它显示错误但安装了新的 apk,然后您可以调试或播放相同的内容。还要取消选中其他选项卡中的跳过安装
e
elliptic1

对我来说,问题是我试图启动的应用程序已经安装在我手机上的不同用户帐户下。当我去设置->应用程序想要卸载它时,我看到了这个。我切换到另一个用户,卸载它,回到原来的用户,并且能够从 Android Studio 安装和启动应用程序,没有更多问题。


z
zipzit

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

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

但我确实发现了一个很棒的修复方法。

删除所有 Android 虚拟设备并安装 GenyMotion 模拟器(使用 VirtualBox)。

我之前尝试过 GenyMotion 仿真器(使用 Linux),但它在加载速度方面并没有太大区别。

在这台 Windows 10 机器上,它运行得非常好。它非常快速、轻松地连接到 Android Studio,并且可以很好地部署我的应用程序。

GenyMotion 免费提供一台个人使用设备。向 GenyMotion 团队致敬!

此处提供的答案以防其他人遇到此错误,可能与此根本原因有关。


C
Community

我遇到了同样的问题并用这个 answer 修复了它。

但是这个问题是我自己造成的,因为我试图调试我的单元测试。因此,我不得不取消选中 Build, Execution, Deployment > 中 AS 设置的 Use in-process build 选项。 Compiler

所以在我的情况下,如果我禁用 instant run,它就可以工作。但它也有效,因为我启用了 instant run 还有 Use in-process build 选项。


k
kiran puppala

只需在终端中运行 adb uninstall <package name> 并重新安装应用程序。

希望能帮助到你。


要获取包名称,请使用 adb shell pm list packages
C
CodyF

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

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

即使我没有更改任何内容,问题仍然存在,这是一个默认的新项目。可能是在 2.0 Android Studio 更新之后引起的。
M
Muhammad Usman

只是 Run --> clean and rerun ,在我的情况下它会有所帮助。自动提示如下消息

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

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


S
Sanjoy Kanrar

由于我的愚蠢,我遇到了这个错误。在 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>

m
macbee

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


u
user3329166

我尝试了所有建议的答案。我发现这是带有 studio 2.3 版本的 Android N 手机上的硬件问题。应用程序在版本 7 以下的手机上运行良好。


H
Hoque MD Zahidul

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


Z
Zoe stands with Ukraine

只需禁用即时运行。

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

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

重新运行模拟器。


U
UzumakiL

好的,已经有很多可能的解决方案可以解决这个问题,如果这些都不起作用,那么试试这个。

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

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

我刚刚进入设置->应用程序->我的应用程序并完全卸载它。之后,我可以从 Android Studio 再次正确安装该应用程序,而不会出现此错误。


是的,我讨厌这个功能。如果我卸载了它,那么我不想要它。我花了一段时间才弄清楚出了什么问题。
a
adray

如果 applicationId、启动活动包或模块名称包含 error 子字符串,adb 也会抛出此错误


哦,我的上帝,我希望我能吻你。 2 年我一直在处理这个问题。
谷歌,为什么?我想知道谁对这个草率的屁股编程负责。
s
spiraldev

现有的答案都没有帮助我,因为我在其他个人资料中安装了相同的应用程序。解决方案 -

切换到另一个配置文件 从第二个配置文件卸载应用程序 切换回来


C
Community

我试过上面的answer。但是,没有一个解决方案对我有用。我将模拟器更改为 USB,并且代码完美地在 USB 目标设备上运行!


我的模拟器也没有问题,仅在我的 Android 手表“Moto 360”上。我已经通过在设备上卸载应用程序之前和之后从 AS 成功安装它来修复它!
佚名

所有答案都对我不起作用。当我尝试重命名应用程序包时出现此错误。我最终使用新包名称创建了一个新项目并将我的文件移动到新项目。


那是多么可悲.. :(
K
Kiryl Ivanou

我已经通过在从 AS 安装之前卸载应用程序解决了这个问题(在我的 Anroid watch Moto 360 上)


M
Maggie

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


f
fathurzero

在您的真实设备或模拟器上卸载应用程序。然后再次运行。它对我有用。我使用了 Android Studio 2.3.3


T
Tirth Patel

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

我的手机中有 3 个用户帐户。所以,我没有为所有用户选择卸载,它只从第一个用户帐户卸载我的应用程序,但它仍然存在于访客和第二个用户帐户中。

所以,我从其他帐户中删除了它,它解决了我的问题!


Z
Zoe stands with Ukraine

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


Z
Zoe stands with Ukraine

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

并重新启动您的设备,这应该可以使事情正常运行....即时运行在 Android Studio 2+ 中有一个错误这应该会产生魔力


H
Hatim

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

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

它解决了。


p
parse

我做了上面的所有建议,但他们没有工作!我重建了项目,从我的真实设备上卸载了该应用程序,拔下 USB,然后我运行 Android Studio 并在我的真实设备上运行该应用程序,问题就消失了。

希望这可以帮助!


G
Gilad Levinson

我有与标题相同的错误。在我更改了 gradle 中的版本名称和版本代码后,同步发生了,然后它就可以工作了。所以有时甚至只有同步才有帮助。


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅