错误类型 3:活动类 ... 不存在
Posted
技术标签:
【中文标题】错误类型 3:活动类 ... 不存在【英文标题】:Error type 3: Activity Class ... does not exist错误类型 3:活动类 ... 不存在 【发布时间】:2013-11-09 08:08:24 【问题描述】: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
确实存在。
【问题讨论】:
清理重建,这里没有问题。 Error type 3 Error: Activity class does not exist的可能重复 去编辑配置(从项目名称下拉菜单中)...在安装选项下的一般选项卡中,将部署从无更改为默认 apk 在工作室升级到 4.2 并且伴随的 Gradle 升级到 6.x 后发生在我身上。这通常是最隐蔽的错误出现的时候。按照 Sniclolas 的建议,清理和重建,修复它。 【参考方案1】:我遇到了同样的问题,我通过在我的 Android 手机(使用 Play 商店)上重新安装以前的生产版本解决了这个问题,flutter run
之后就可以正常运行了。
【讨论】:
【参考方案2】:有时在您重命名项目的根目录后会发生这种情况。
-
删除项目的 .idea 文件夹。
重新打开 Android Studio 并重建。
【讨论】:
【参考方案3】:您只需在 build.gradle
中更改您的 applicationId【讨论】:
【参考方案4】:这就是我修复它的方法。转到 Gradle > 任务 > 安装 > UninstallAll
【讨论】:
我什么都试过了。但这对我有用。非常感谢 @ShohelRana 很高兴这对您有帮助【参考方案5】:是的,我知道已经有一个可接受的答案,但它不起作用(或可能不再起作用)。目前在 Android 8.0 Oreo 版本中,您的应用有可能会在您的设备上“但并非针对所有用户”被卸载。因此,下次您使用设备调试应用程序时,会发生此错误。
Error: Activity class "class path here" does not exist
Error type 3
这是你如何修复它绝对有效的(搜索了 2 天相信我)
如果您仍然可以在 设置 > 应用 > 选择您的应用下看到您的应用,然后转到其工具栏上的选项并选择“为所有用户卸载”
如果您的应用不在应用列表中,生成/构建 APK,在我的情况下(Android Studio 3.0.1),您可以转到 Build > Build Apk 。在您的设备上手动安装它。 然后执行第 1 步。
那里!您的应用程序都是清理过的应用程序并完全卸载。您现在可以使用开发环境对其进行调试。
进一步研究:我相信Samsung Pass app与此错误有关。即使在卸载之后。我的项目仍在他们的名单上。
快乐编码 干杯!
【讨论】:
这个答案值得获得英雄奖……简直难以置信。 @vortek 很高兴它能帮到你。 我使用的是Android Studio 3.5,设置在哪里??我在上面有 AndroidStudio、文件、编辑......等等。谢谢你的帮助 我解决了检查项目文件的问题,并确保项目名称相同:: 这些文件是; andorid/app/build.gradle>>android>defaultConfig >applicationId 名称... android/app/src/main/AndroidManifest.xml 包名... android/app/src/debug/AndroidManifest.xml 包名... ..MainActivity.java 包名...android/settings.gradle rootProject.name ...android/app/BUCK android_build_config 和android_resource 包名... 你是个天才,这个应用程序是在 android 10 中以“工作模式”安装的,所以这导致了整个混乱。我真的欠你的。谢谢朋友【参考方案6】:我想你有一个像我的 LG Stylus 3 Android 7.0 这样的设备,当你按下并将应用程序从桌面移动到垃圾箱时,应用程序不会从设备中删除。详情请见my accepted answer on the same question。
【讨论】:
【参考方案7】:adb uninstall <your package name>
这对我有用。尽管该应用程序甚至没有显示为已安装的应用程序,但卸载命令解决了该问题。 我的理论:可能有一些数据在上一次卸载后未清除,导致下一次安装未完全完成。
【讨论】:
经过半天的奋斗,只有这对我有所帮助。谢谢【参考方案8】:我在 Android O (Google Pixel C) 上遇到了这个错误。我想我也会在其他设备上遇到这个错误。
我尝试将(从 AndroidStudio)安装到任何设备上都可以,但在 Android O 上却不行。在 Android o 上我遇到了同样的错误(如下所示)。
根本原因。我在该设备上有两个用户(user1,user2)。 当我从 user1 卸载应用程序时(该应用程序仍然存在于 user2 中)。 当我尝试在用户 1 上重新安装应用程序时,它返回错误。用户 2 中的情况相同。 如果我从两个用户那里卸载应用程序并重新安装它可以解决问题。
如果我们使用“adb install -r example.apk”从命令链接它可以工作,但 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
【讨论】:
谢谢,这就是我的问题。我想知道是否可以禁用访客用户而无需 root 设备。【参考方案9】:我通过重启我的测试设备并重启 Android Studio 解决了这个问题。
【讨论】:
【参考方案10】:检查您是否正在构建隐藏版本。这是隐藏应用的预期行为。
如果要构建普通版本,需要在Android Studio中修改Build Variant Build > Select Build Variant,改为普通版本。
【讨论】:
【参考方案11】:在 build.gradle 中,
改变
apply plugin: 'android-library'
到
apply plugin: 'com.android.application'
如果您的 build.gradle 已经有 apply plugin: android-library
,请尝试清理您的项目。
【讨论】:
【参考方案12】:我尝试了上述所有建议,但只有这样解决了我的问题;
-
更改软件包名称无关紧要并同步 gradle。
将包名称更改为您真正想要的,同步并运行。
【讨论】:
【参考方案13】:我也遇到了同样的问题,当我卸载应用程序并同时进行构建时出现问题。然后在工作室中出现上述错误。所以我尝试了所有选项,但这些对我不起作用。所以我检查了 设置 -> 应用程序 -> 选择了我的应用程序,我看到应用程序处于禁用状态,所以它没有安装(给出错误)。我卸载了应用程序并尝试构建然后它工作正常。
【讨论】:
我在 LG 5 (Android 7) 上遇到了同样的问题,这个答案解决了它!谢谢【参考方案14】:在build.gradle
中,一行:
apply plugin: 'android-library'
需要更改为:
apply plugin: 'com.android.application'
【讨论】:
apply plugin: 'android-library' 是如何出现在你的 build.gradle 中的?? 对我来说,我不得不将 apply plugin: 'android' (我被警告现在已弃用)替换为 apply plugin: 'com.android.application' 并且错误消失了,它似乎失败了不知从何而来,虽然这很有趣 哇,这为我解决了这个问题,我使用的是 Android Studio 0.8.6 - 给出了折旧警告的奇怪错误。 我什至无法想象这种解决方案。 @zulkarnain 如果应用插件:'com.android.application' 已经存在并且仍然存在问题,只需清理项目并再次运行。为我工作。【参考方案15】:转到您的设备设置。选择应用程序选项,从列表中选择特定应用程序,在右上角,选择菜单栏选项,然后选择为所有用户删除。它对我有用。
【讨论】:
【参考方案16】:虽然这是几年前发布的问题,但我想分享我的解决方案。
打开运行->编辑配置,检查包面板中是否选择了“部署默认APK”。应选择“部署默认 APK”。
这个问题发生在我身上,因为我之前出于某种原因选择了“不部署任何东西”并且我忘记了撤消选择。
【讨论】:
这是唯一对我有帮助的东西。谢谢! 谢谢伙计,这对我也有帮助! 我认为这是真正的答案 它是我的答案【参考方案17】:就我而言,我尝试了这里提到的所有方法,但它们并没有解决我的问题。问题不在 Android Studio 中,而是在设备中。 在我将我的 Android 设备重置为出厂设置后(如此处所述https://support.google.com/android-one/answer/6088915?hl=en),问题就消失了。
【讨论】:
【参考方案18】:我遇到了类似的问题,在到处搜索和尝试修复后找不到解决方案。唯一对我有用的是创建一个新项目,复制旧活动中的所有代码并将它们粘贴到新创建的活动中(名称相似但包不同)。它工作得很好。我在更改包名称之前尝试过,但没有成功。它可能对你们有用。
【讨论】:
【参考方案19】:手动改包名时,如果manifest.xml
没问题,则需要改
应用插件:'android'
到
应用插件:'com.android.application'
【讨论】:
【参考方案20】:我最近刚刚遇到这个错误。 我通过完全卸载设备上的应用程序,然后重新运行来修复它。
为了提供一些上下文,这是由使用 setComponentSetting() 引起的
【讨论】:
好吧,清理项目后,使缓存无效/重新启动,删除构建文件夹文件夹,将项目与 gradle 文件同步,卸载 Android Studio,再次安装并更新它,我发现这个建议对我有用.. . 谢谢!【参考方案21】:重命名/重构后我遇到了同样的错误。我所做的是将applicationId
属性添加到我的build.gradle 文件中,并将其值设置为应用程序包。像这样:
android
defaultConfig
applicationId "com.example.mypackage"
【讨论】:
将 applicationId 重构为其他东西并将其恢复为原始 id 对我有用!【参考方案22】:在我的情况下,重命名活动是解决方法。
【讨论】:
【参考方案23】:我正在使用带有清单中指定的示例 Activity 的库模块。
从库项目的清单中取出示例活动对我有用。
【讨论】:
【参考方案24】:这主要是日食问题,因此正常情况可能适用于您。清理项目并重建工作空间,打开manifest查看是否有错误,重新查看日志中提到的类名,一遍遍清理,重启eclipse,打开清理。
【讨论】:
【参考方案25】:您的错误表明它正在寻找com.codealchemist.***mma.splash
。大多数 Java 类都以大写字母开头 - 确保您的类名完全匹配。
【讨论】:
@Binghammer - 我已经更新了我的答案。你确定你的java类叫splash
而不是Splash
?
我所有的课程都以大写字母开头。但是由于某种原因,我没有在我的splash课上这样做。所以我的班级名称是小写的。
我非常怀疑你需要做那么多。我真的会仔细检查您的包名称和类是否完全匹配,以及 splash
是否正在扩展 Activity
(或其子类型之一)。
您的评论已被删除。问题结束了吗?以上是关于错误类型 3:活动类 ... 不存在的主要内容,如果未能解决你的问题,请参考以下文章