错误类型3:活动类{...}不存在

时间:2013-10-29 22:47:20

标签: android android-manifest

AndroidManifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.m.e"
      android:versionCode="5"
      android:versionName="3.0">

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18"/>

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
    <activity
            android:name="com.m.e"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:configChanges="orientation|keyboardHidden">
        <intent-filter>
            <action
                    android:name="android.intent.action.MAIN"
                    />

            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    <activity
            android:name="com.m.e"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:configChanges="orientation|keyboardHidden">
        <intent-filter>
            <action
                    android:name="android.intent.action.first"
                   />

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

    .....

</application>

</manifest>

错误:

 Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.m.e/.Splash }
 Error type 3
 Error: Activity class {com.m.e/com.m.e.Splash} does not exist.

注意: .Splash 确实存在

25 个答案:

答案 0 :(得分:28)

build.gradle中,行:

 apply plugin: 'android-library'

需要改为:

 apply plugin: 'com.android.application'

答案 1 :(得分:21)

重命名/重构后我遇到了同样的错误。我所做的是将applicationId属性属性添加到我的build.gradle文件中,并将其值设置为应用程序包。像这样:

android{
    defaultConfig{
        applicationId "com.example.mypackage"
    }
}

答案 2 :(得分:14)

虽然这是几年前发布的一个问题,但我想分享一下我的解决方案。

打开运行 - >编辑配置,检查是否&#34;部署默认APK&#34;在包装面板中选择。 &#34;部署默认APK&#34;应该选择。

问题出现在我身上,因为我选择&#34;不要部署任何东西&#34;由于某种原因早些时候,我忘了撤消所选择的。

答案 3 :(得分:10)

adb uninstall <your package name>

这对我有用。虽然应用程序甚至没有显示为已安装的应用程序,但卸载命令修复了问题。 我的理论:在上次卸载之后,可能有些数据未被清除,导致下一次安装没有完全完成。

答案 4 :(得分:7)

是的,我知道已经接受了这个问题,但它没有用(或者可能不再有效)。目前,在 Android 8.0 Oreo 版本中,您的应用可能会在您的设备上卸载&#34;但并非适用于所有用户&#34;。因此,下次使用您的设备调试应用程序时,会发生此错误。

Error: Activity class "class path here" does not exist
Error type 3

以下是你如何解决它绝对有效(搜索它2天信任我)

  1. 如果您仍然可以在设置&gt;下看到您的应用应用&gt;选择您的应用并转到其工具栏上的选项,然后选择&#34; 为所有用户卸载&#34;

  2. 如果您的应用不在应用列表中,生成/构建APK ,在我的情况下(Android Studio 3.0.1),您可以转到构建&gt;构建Apk 。在您的设备上手动安装。 然后执行第1步

  3. 那里!您的应用程序是所有清理的应用程序并完全卸载。您现在可以使用开发环境对其进行调试。

    有待进一步研究:我相信 Samsung Pass app 与此错误有关。即使在卸载之后。我的项目仍在他们的名单上。

    Happy Codings 干杯!

答案 5 :(得分:5)

我也面临同样的问题,当我卸载应用程序并且同时给出build时出现问题。然后在工作室中给出了上述错误。所以我尝试了所有选项,但这些都不适合我。所以我检查了设置 - &gt;应用 - &gt;选择了我的应用程序,我看到应用程序处于禁用状态,因此它没有安装(给出错误)。我卸载了应用程序并尝试构建然后它工作正常。

答案 6 :(得分:5)

我在Android O(Google Pixel C)上遇到此错误。我想我也会使用其他设备。

我尝试安装(从AndroidStudio)到任何设备都很好,但在Android O上没有。在Android上我得到了同样的错误(如下所示)。

根本原因。我在该设备上有两个用户(user1,user2)。 当我从user1卸载应用程序时(app2仍在user2中)。 当我尝试在user1上重新安装应用程序时,它返回user2中的error.Same案例。 如果我从两个用户卸载应用程序并重新安装它可以解决问题。

如果我们使用&#34; adb install -r example.apk&#34;来自命令链接它有效,但AndroidStudio没有进行卸载和重新安装(如果设备中有两个用户)。

所以在我的情况下,这是因为多个用户问题。我的所有其他设备(除了Android O)都是单用户,这就是为什么它在其他设备上工作,除了Pixel C(有两个用户)。 所以要注意多用户设备。

No apk changes detected since last installation, skipping installation of /home/user/Project/AndroidStudioProjects/MyAddress/app/build/outputs/apk/app-debug.apk
$ adb shell am force-stop com.arris.myaddress
$ adb shell am start -n "com.example.address/com.example.address.MainActivity1" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Error while executing: am start -n "com.example.address/com.example.address.MainActivity1" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.address/.MainActivity1 }
Error type 3
Error: Activity class {com.example.address/com.example.address.MainActivity1} does not exist.

Error while Launching activity

答案 7 :(得分:5)

我尝试了上面的所有建议,但只有这解决了我的问题;

  1. 更改包名称无关,并同步gradle。
  2. 将包名更改为您想要的,同步并运行。

答案 8 :(得分:5)

转到您的设备设置。选择应用选项,从列表中选择该特定应用,在右上角,选择菜单栏选项,然后选择删除所有用户。它对我有用。

答案 9 :(得分:3)

我最近刚遇到这个错误。 我通过在我的设备上完全卸载应用程序来修复它,然后重新运行。

为了提供一些上下文,这是由使用setComponentSetting()

引起的

答案 10 :(得分:2)

当您手动更改包名称时,如果manifest.xml没问题,那么您需要更改

  

申请插件:'android'

  

apply plugin:'com.android.application'

答案 11 :(得分:2)

这就是我修复它的方式。转到gradle>任务>安装> UninstallAll

enter image description here

答案 12 :(得分:1)

您的错误表明它正在寻找com.codealchemist.clashmma.splash。大多数Java类都以大写字母开头 - 确保您的类名完全匹配。

答案 13 :(得分:1)

我想你有像我的LG Stylus 3 Android 7.0这样的设备,当你按下并将应用程序从桌面移动到垃圾箱时,应用程序不会从设备中删除。有关详细信息,请参阅my accepted answer on the same question

答案 14 :(得分:0)

在我的情况下,我尝试了所有这里提到的,他们没有解决我的问题。问题不是在Android Studio中,而是在设备中。 在我将Android设备重置为出厂设置后(如此处所述https://support.google.com/android-one/answer/6088915?hl=en),问题就消失了。

答案 15 :(得分:0)

我有类似的问题,在搜索和尝试修复之后我无法找到解决方案。对我来说唯一有用的是创建一个新项目,复制旧活动中的所有代码并将它们粘贴到新创建的活动(类似的名称但不同的包)。它工作得非常好。我在更改包名之前尝试过,但它没有用。它可能适合你们。

答案 16 :(得分:0)

检查您是否正在构建隐藏版本。这是隐藏应用程序的预期行为。

如果您想构建常规版本,则需要在Android Studio中更改Build Variant Build&gt;选择Build Variant ,将其更改为常规。

答案 17 :(得分:0)

我通过重新启动测试设备并重新启动Android Studio来解决此问题。

答案 18 :(得分:0)

在我的案例中重命名活动就是修复。

答案 19 :(得分:0)

我正在使用一个库模块,其中包含在Manifest中指定的示例Activity。

从库项目中的清单中取出示例活动为我工作。

答案 20 :(得分:0)

大多数情况下它是一个日食问题,所以正常情况可能会对你有用。清理项目并重建工作空间,打开清单并检查是否有任何错误,重新检查日志中提到的类名,一次又一次清理,重新启动eclipse,打开并清理。

答案 21 :(得分:0)

您只需在 build.gradle

中更改applicationId

答案 22 :(得分:0)

有时,一旦您重命名项目的根目录,就会发生这种情况。

  1. 删除项目的.idea文件夹。
  2. 重新打开Android Studio并重建。

答案 23 :(得分:0)

我遇到了同样的问题,我通过在Android手机(使用Play商店)上重新安装了先前的生产版本来解决了该问题,flutter run之后将正常运行。

答案 24 :(得分:-2)

在build.gradle中,

变化

apply plugin: 'android-library'

apply plugin: 'com.android.application'

如果你的build.gradle已经有apply plugin: android-library,那么请尝试清理你的项目。