错误types3错误:活动类{}不存在

我有一个INTELIJ(V12)Android项目成功导入到AndroidStudio(V0.4.0)。 如果我不在manifest中改变任何东西的话,它是完美的。 当我想更改启动器活动并运行时,它会输出以下错误:

Launching application: com.trackingeng/LandingActivity. DEVICE SHELL COMMAND: am start -D -n "com.trackingeng/LandingActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.trackingeng/LandingActivity } Error type 3 Error: Activity class {com.trackingeng/LandingActivity} does not exist. 

当我点击同步项目与Gradle文件输出:

 Project Sync The project 'TrackingEng' is not a Gradle-based project 

任何人都面临这个问题? 有任何想法吗?

运行设置: 在这里输入图像描述

重构后我遇到了类似的问题。
这是我解决这个问题所做的:

  1. 清理了项目
  2. 删除Build目录
  3. 重新启动的Android Studio
  4. 重build项目

一切工作正常!
我认为关键是要重新启动您的IDE

希望这可以帮助你或其他人!

编辑:
如果上面的步骤不适合你,那么deleting gradle cache似乎是一个解决scheme,正如@Yasitha所指出的那样。

更新Android Studio 2.1及更高版本

运行Android Studio 2.1或更高版本时,如果在首选项中启用了即时运行选项(默认情况下启用),也可能会遇到此问题。

要禁用此选项,请转至Android Studio顶部菜单中的Preferences选项Preferences选项,然后查找“ Instant Run以便取消选中该屏幕上的第一个checkbox。

在这里输入图像描述

无论如何,这对我来说固定。 最初由用户@yusufonder指出。 我发现这是自从gradle install仍然工作以来的问题。

当你做以下事情时会发生这种情况

  • 连接你的设备/模拟器
  • 从Android Studio(AS)运行应用程序
  • 使用/testing应用程序,并在设备仍然连接到计算机时将其从设备上卸载
  • 尝试从AS再次运行应用程序

AS认为你的设备中仍然有应用程序。

tl; dr – 要解决这个问题,您可以在卸载应用程序并重新连接后断开设备的连接。

可能对某人有帮助:

有时在设备上进行testing时, 应用程序不能正确卸载 。 validation并解决这个问题:

  1. 转到设置
  2. 转到应用程序
  3. select你的应用。 (在这里,你可以validation你的应用程序没有正确卸载)
  4. 打开右上angular的溢出菜单,并为所有用户select卸载
  5. 完成。 尝试安装,然后再次启动您的应用程序。

尝试在您的AndroidManifest.xml文件中更改Activity的名称。

现在它说:

 <activity android:name="LandingActivity" > 

尝试在活动名称的开头添加句点

 <activity android:name=".LandingActivity" > 

或者将包名称添加到活动名称的开头:

 <activity android:name="com.trackingeng.LandingActivity" > 

这也可能是一个问题,你的软件包名称只有两个组件分隔(你的软件包名称是“com.trackingeng”;更标准的软件包名称是“com.trackingeng.app”)

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

build.gradle

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

对我来说,问题是AndroidStudio 认为应用程序仍在设备上。

要解决这个问题:

  1. 重新启动adb守护进程 ; 在terminal或命令提示符下input:

     adb kill-server adb start-server 
  2. 尝试启动您的应用程序。

  3. 如果它仍然不起作用,请检查这个答案 。

确保Android SDKplatform-tools被添加到您的系统pathvariables中

当通过设备卸载应用程序(即将应用程序拖到“卸载”选项)时,我将面临此问题。 但是,这里是卸载的正确方法:

使用./gradlew uninstallAll命令。 这将防止Error: Activity class {HomeActivity} does not exist. 错误。

我有同样的问题,我解决了它重构我的活动启动器,只是改变类名称,它的工作原理。

即使我有同样的问题,但没有上述解决scheme为我工作。 问题是,我冻结了我试图通过titanium备份运行的特定应用程序,因为我得到了上述错误。 我在Eclipse和Android Studio中都尝试过。

实现后,我刚刚unistalled应用程序,然后再次运行它。

问题解决了 :-)

我在过去的某个地方也面临同样的问题。 当我们做一些重构时,实际上会发生这样的问题 – 重命名,在项目中移动文件等。重命名和移动文件需要更改gradle文件,所以无论何时重命名或移动某个文件,只需清理项目:

build设 – >清洁工程

清理项目只是删除.class文件并重新编译项目。 基本上,这迫使一个项目重build。

有时候这种types的错误没有清理清理项目,然后尝试从设备卸载应用程序(无论是模拟器还是物理),然后再次运行应用程序。 希望这会帮助你,它帮助我50%的时间。

注意: – 每当你有任何错误只是不去谷歌,清理项目,如果这不起作用,你想要什么谷歌。

我面对类似的问题,请按照下面的步骤。
它会帮助你:

1-清理你的项目
2-删除您的生成目录
3-重新启动您的Android Studio
4-重build项目
5-它会成功运行。

谢谢

对我来说,在Android 6上,当我卸载应用程序它实际上去禁用而不是从设备中删除。

设置>应用程序>点击你的应用程序并卸载

这为我修好了

我只是去生成>重build项目,我的问题解决了

以上都没有为我工作。 我的设备上有一个版本的应用程序无法卸载,因为它以某种方式损坏。 我不得不重置设备。 不要太困扰,因为这只是一个开发设备

我想分享一下我的情况。 我从设备上卸载了应用程序, clean/rebuild/Android Studio restart操作没有任何帮助。

由于Android Studio认为应用程序仍然安装在设备上,并且没有部署,所以可以使用ADB强制安装:

 adb install -r <your_application_from.apk> 

其中-r意味着重新安装应用程序,保持其数据。

正如其他人已经指出,这个问题可能是由卸载应用程序时连接的设备/仿真程序造成的,AS连接仍然存在。 在我的最后,我只是删除项目中的所有构build文件夹(在应用程序和项目目录下),并重新启动设备/模拟器上的应用程序。

我参考了@ jayeffkay的评论。

我删除了位于的gradlecaching文件之后,它适用于我

/your_proj_directory/.gradle/2.10

2.10是我的情况下使用的gradle版本。

我有同样的问题。 当我禁用Android Studio 2.1.1的即时运行时,我的问题得到解决

我有错误types3.我设法解决它在AndroidMainfest.xml中添加下面的代码。

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

我认为这个问题发生的另一个原因是它没有完全删除设备上的所有用户。

转到设置 – >应用程序 – >您的应用程序 – >点击右上angular的3个点 – >卸载所有用户

它适用于我。 尤其是你改变了应用程序的图标或者搞乱了AndroidManifest.xml文件。

我最近面对这个问题,并尝试了上面的所有build议,问题没有保存。 最后我换了一个NDK,问题解决了…

对我来说,这是一个非常具体的问题,我有一个LG G5的testing我的应用程序,并重置我的应用程序数据我卸载它在手机上,但手机有一个“不错”的function,不卸载应用程序立即让你可以在一天内重新安装。 所以应用程序已安装,但不能使用( 禁用 )从手机中删除应用程序完全工作后。

我有LG手写笔,并在我的testing手机,应用程序不会永久删除。 在设置 – >应用程序,我发现debugging应用程序(我尝试安装和通过ASdebugging)与adnotationclosures。 当我从手机中删除应用程序时,错误消失。

如果你不小心,你正试图禁用你的应用程序清单中的东西,请确保你不要禁用应用程序…

 <application android:allowBackup="false" android:enabled="true" ... 

我不小心设置enabled “false”而不是allowBackup 。 浪费了2个小时寻找解决scheme。

我的解决scheme是:closuresandroid studio的“即时运行”。

可以通过以下步骤find“即时运行”:首选项 – >生成,执行,部署 – >即时运行

然后取消选中“启用即时运行以热插拔”checkbox….

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

如果您想构build常规版本,则需要在Android Studio Build>selectBuild Variant中更改Build Variant ,将其更改为常规版本。

如果您从现有项目创build一个新项目:

的build.gradle

 defaultConfig { applicationId "xxxxxxxxx" //xxxxxxxxx should be "package name (com.demo.app) from AndroidMenifest.xml" minSdkVersion 16 targetSdkVersion 28 versionCode 1 versionName "3.0.0" ndk { abiFilters "armeabi-v7a", "x86" } } 

然后点击android studio中的同步

我通过简单地删除app -> build文件夹然后重build项目来解决它。 生成文件夹是在项目build立后自动重新创build的,所以删除它没有风险。