Default Activity Not Found 问题总结

最近遇到default activity not found的问题,各种查资料,找方案,了解了很多相关知识,然而没有任何作用,总结一下可能导致的原因吧。

  1. AndroidManifest.xml文件中没有声明相应Activity,新手很容易犯的错,所以最好直接用AS快速创建Activity,不需要手动声明。注意为默认启动Activity添加intent-filter。解决方案如下:

    <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:launchMode="singleTop">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
    
                <category android:name="android.intent.category.LAUNCHER" />
            intent-filter>
        activity>
    
  2. 包名与activity所在路径不符,一般来说不会出现这种问题,这种问题也很好排查,一般来说IDE就会直接报红,这种情况也很好解决:

  • 配置正确的项目包名路径
    Default Activity Not Found 问题总结_第1张图片
  • 为Activity添加完整的路径
	    <activity
            android:name="com.paradise.facephone_webrtc.MainActivity"
            android:label="@string/app_name"
            android:launchMode="singleTop">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

这种错误与第一种一样,一般不会发生,最好的避免方法就是使用AS自带的快速建立Activity的方法。

  1. 项目中没有Activity,只定义了service的情况。这种运行当然就是找不到Activity啦,需要设置一下Launch Options的参数,也很简单,如下:
    在这里插入图片描述
    Default Activity Not Found 问题总结_第2张图片
    会看到默认是Default Activity ,手动改为Nothing就可以了。

  2. 当你排除了以上的情况之后,你发现问题还没有得到解决,这个时候可以试一试缓存清除大法,因为很有可能是AS不定时抽风
    Default Activity Not Found 问题总结_第3张图片
    然后坐等AS自动重启就好了

  3. 以上方案仍旧解决不了,干脆重建一个项目吧!只不过感觉不是很优雅的样子。当然前4种都没能解决,可能重建也解决不了,所有有了第6种方案。

  4. 重装AS吧。我遇到的就是最后这一个问题,版本问题。本着开发者当然要用最新版啦的观念,每次升级我都是非常坚定的,于是我的版本一路奔到3.2.1,项目遇到的问题就是,导入了一个module,module中没有Activity,正常情况下是没有任何影响的,毕竟他就是个module!但就是这个东西,导致我不能正常运行项目,修改Launch Options为nothing, 是可以成功安装的,但是不能打开项目,会一直提示 Client Not Ready Yet… ,但是手动点击app图标打开又没有问题,只是不能debug而已。最后回退到和同事相同的3.0.1版本后完美解决。

你可能感兴趣的:(Android,Android,Studio,3.2.1,Android,Studio,3.0.1,default,activity,not,found,client,not,ready,yet)