Default Activity Not Found 问题总结

本文详细介绍了在Android开发中遇到defaultactivitynotfound问题的可能原因及解决方案,包括检查AndroidManifest.xml配置、确保包名与路径一致、正确设置LaunchOptions参数、清除缓存以及考虑重装Android Studio。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近遇到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就会直接报红,这种情况也很好解决:

  • 配置正确的项目包名路径
    在这里插入图片描述
  • 为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 ,手动改为Nothing就可以了。

  2. 当你排除了以上的情况之后,你发现问题还没有得到解决,这个时候可以试一试缓存清除大法,因为很有可能是AS不定时抽风
    在这里插入图片描述
    然后坐等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版本后完美解决。

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值