在 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
感谢任何愿意提供帮助的人
我更新到 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
),此过程完成后,您可以正常运行您的应用程序。
祝你好运~
如果您使用的是 Android 7.0 及更高版本,则该应用程序可能安装在两个位置(访客和管理员),并且您仅为一个用户卸载了它,这会导致问题。
要解决这个问题,请转到:设置 -> 应用程序和通知 -> 查看所有应用程序 -> 找到您要安装的应用程序。
https://i.stack.imgur.com/YNG4m.png
然后点击右上角的菜单,选择为所有用户卸载
https://i.stack.imgur.com/8it1j.png
从 Android Studio 运行您的应用程序,它应该可以工作。
尝试重新安装应用程序,这解决了我的错误。诀窍是,我卸载了我的应用程序,但 Android 并没有真正卸载它。在我的手机上,有一个访客用户(我姐姐有时会使用它)。如果您从主要用户那里卸载该应用程序,它仍然可以在手机上使用,但仅供来宾用户使用。看起来 Android Studio 无法处理这种情况。我猜它检测到该应用程序已安装,因此不会为当前用户再次重新安装它,因此操作系统无法访问和启动该活动。不错的bug,我会报告的。
adb uninstall
成功了!
我有同样的问题,重建项目为我清除了错误。
构建 -> 重建项目 -> 运行
这是 2.0+ 工作室的问题
问题 206036:没有本地更改,没有部署 APK
我发现很好的解决方法 here 只需在编辑配置中添加 -r 标志并禁用即时
https://i.stack.imgur.com/HhCgx.png
等待即时运行功能很快运行顺利,没有类型 3 错误更多!
对我来说,问题是我试图启动的应用程序已经安装在我手机上的不同用户帐户下。当我去设置->应用程序想要卸载它时,我看到了这个。我切换到另一个用户,卸载它,回到原来的用户,并且能够从 Android Studio 安装和启动应用程序,没有更多问题。
我在这个确切的问题上花了很多时间。 “即时运行”修复完全失败。而且我没有错过 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 团队致敬!
此处提供的答案以防其他人遇到此错误,可能与此根本原因有关。
我遇到了同样的问题并用这个 answer 修复了它。
但是这个问题是我自己造成的,因为我试图调试我的单元测试。因此,我不得不取消选中 Build, Execution, Deployment
> 中 AS 设置的 Use in-process build
选项。 Compiler
。
所以在我的情况下,如果我禁用 instant run
,它就可以工作。但它也有效,因为我启用了 instant run
和 还有 Use in-process build
选项。
只需在终端中运行 adb uninstall <package name>
并重新安装应用程序。
希望能帮助到你。
adb shell pm list packages
同样的问题,但对我来说,问题是 Android Studio 找不到我的默认活动。当我指定意图过滤器来捕获 MAIN 操作意图时,我没有指定 LAUNCHER 类别,这导致了“错误启动活动”问题。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> <-- forgot
</intent-filter>
只是 Run --> clean and rerun
,在我的情况下它会有所帮助。自动提示如下消息
你会卸载已经安装的同名活动吗
如果已经安装了活动,请先将其卸载并在安装应用程序后准备好项目。
由于我的愚蠢,我遇到了这个错误。在 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>
我在 android studio 2.1.2 中遇到了同样的问题,但是在选择 Build -> Clean Project 或 Run -> Clean and Rerun 之后工作了
我尝试了所有建议的答案。我发现这是带有 studio 2.3 版本的 Android N 手机上的硬件问题。应用程序在版本 7 以下的手机上运行良好。
我已经使用这个解决方案解决了这个问题。如果您在 USB 设备中运行应用程序,则关闭所有虚拟设备,例如:genymotion / virtual machine。
只需禁用即时运行。
Go To File >> Settings >> Build, Execute, Deployment >> Instant Run
取消选中显示 Enable instant run to hot swap code/resource changes on deploy
的框
重新运行模拟器。
好的,已经有很多可能的解决方案可以解决这个问题,如果这些都不起作用,那么试试这个。
当我第一次卸载我的应用程序然后尝试从 ADB 重新安装时,我遇到了这个问题。但是在尝试了这么多解决方案之后,我意识到现在卸载应用程序并没有真正卸载它。它只是将其禁用几天,以便在您改变主意时启用它。
现在我不确定它是由 LG 还是 Native Android Nougat 完成的。
我刚刚进入设置->应用程序->我的应用程序并完全卸载它。之后,我可以从 Android Studio 再次正确安装该应用程序,而不会出现此错误。
如果 applicationId
、启动活动包或模块名称包含 error
子字符串,adb 也会抛出此错误
现有的答案都没有帮助我,因为我在其他个人资料中安装了相同的应用程序。解决方案 -
切换到另一个配置文件 从第二个配置文件卸载应用程序 切换回来
我试过上面的answer。但是,没有一个解决方案对我有用。我将模拟器更改为 USB,并且代码完美地在 USB 目标设备上运行!
所有答案都对我不起作用。当我尝试重命名应用程序包时出现此错误。我最终使用新包名称创建了一个新项目并将我的文件移动到新项目。
我已经通过在从 AS 安装之前卸载应用程序解决了这个问题(在我的 Anroid watch Moto 360 上)
它发生在我更改应用程序 gradle 文件中的 applicationId 时。在我同步 gradle 后它对我有用。
在您的真实设备或模拟器上卸载应用程序。然后再次运行。它对我有用。我使用了 Android Studio 2.3.3
我试过了,clean & rebuild project
和 Invalidate Cache & Restart
还手动删除了 .gradle
和 .idea
文件夹,但这并没有解决问题。
我的手机中有 3 个用户帐户。所以,我没有为所有用户选择卸载,它只从第一个用户帐户卸载我的应用程序,但它仍然存在于访客和第二个用户帐户中。
所以,我从其他帐户中删除了它,它解决了我的问题!
我有同样的问题。我将 AVD 与 arm 处理器映像一起使用,并收到了相同的消息。让 Android Studio 2.1.2 运行即时运行的应用程序的唯一方法是更改为 X86 处理器映像。错误消失了(直到此刻)我认为仿真器的运行速度比 ARM 仿真的要快。我的工作站配置是 Intel I5,6Gb RAM。也许这会有所帮助,直到下一次修复。
禁用“即时运行”,您可以转到首选项对话框(Windows 上可能是设置对话框),然后选择构建、执行、部署 > 即时运行,并取消选中所有复选框以禁用即时运行。
并重新启动您的设备,这应该可以使事情正常运行....即时运行在 Android Studio 2+ 中有一个错误这应该会产生魔力
我得到了同样的错误。此问题是由于从设备上卸载应用程序引起的(仅从 1 位用户卸载)
通过登录其他用户并从那里卸载应用程序来解决。
它解决了。
我做了上面的所有建议,但他们没有工作!我重建了项目,从我的真实设备上卸载了该应用程序,拔下 USB,然后我运行 Android Studio 并在我的真实设备上运行该应用程序,问题就消失了。
希望这可以帮助!
我有与标题相同的错误。在我更改了 gradle 中的版本名称和版本代码后,同步发生了,然后它就可以工作了。所以有时甚至只有同步才有帮助。
.idea
和gradle
文件夹?!