AS开发 default activity not found 无法运行

最近在项目中遇到一个问题,就是以前用android studio能正常打开的工程,今天突然报default activity not found错误,该错误导致app那块显示一个红叉,无法直接launch app,可以build工程产生apk文件,但是不能用studio直接launch app,这样对开发来讲还是很不方便的。正常情况下如下图

AS开发 default activity not found 无法运行

遇见该错误的时候如下图

AS开发 default activity not found 无法运行

进到Edit Configurations,如下图

AS开发 default activity not found 无法运行

default activity not found这个错误产生的正常原因就是你的AndroidManifest.xml文件没有声明app默认启动的activity,如下:

 
  1. <activity

  2. android:name=".MainActivity">

  3. <intent-filter>

  4. <action android:name="android.intent.action.MAIN" />

  5.  
  6. <category android:name="android.intent.category.LAUNCHER" />

  7. </intent-filter>

  8. </activity>

所以正常情况下就是补上这种activity的声明就行了。

非正常情况

估计很多同志们遇到的都是非正常情况,上述方法解决不了的时候,可以尝试下下面几种:

1、默认启动的activity的类名不要使用缩略形式,可是加上完整包名试试;

2、清除Android Studio的缓存,如下图所示:

AS开发 default activity not found 无法运行

3、检查你的module是否有要启动的activity,如果没有,需要设置成Nothing,如下图:

AS开发 default activity not found 无法运行

4、以上办法都试过之后,还不行,只能重新克隆代码,重新创建工程了;

5、以上方法还不行,只能考虑重置android studio了,方法就是删除c盘下的配置文件, 路径为C:\Users\用户名\.AndroidStudio1.2和C:\Users\用户名\.android两个文件夹。不过这样就相当于重装android studio,所依赖的谷歌原生包,比如每个api level对应的source源码,和第三方库都需要重新下载一遍,项目第一次编译需要花费点时间。重置android studio请参考:https://blog.****.net/mp624183768/article/details/79029722

我遇到的问题最终的解决办法就是方法5,前面4个方法都试过都无效,感觉代码没有问题,而是android studio自己出了问题,AndroidManifest.xml文件无法设识别出activity,项目里的哪一个activity都无法识别,最后还是用方法5,重新创建项目之后就好了,这个问题折腾了大半天,所以这里总结一下,希望能够为其他开发者节省一些时间。