Android Studio报错:Unable to find explicit activity class,已声明Activity仍崩溃
问题分析
首先纠正一个误区:你看到的ActivityNotFoundException是表象,实际错误根源是找不到com.google.android.material.button.MaterialButton类——这说明你的项目没有正确引入Material Design组件库,和Activity声明无关。
解决步骤
第一步:添加Material组件依赖
打开Module级别的build.gradle(注意不是Project根目录的那个),在dependencies代码块中加入Material库依赖:dependencies { // 保留你已有的其他依赖 implementation 'com.google.android.material:material:1.11.0' // 用最新稳定版即可 }点击Android Studio右上角的
Sync Now同步依赖。第二步:确认布局中MaterialButton的使用
检查布局文件,确保控件类名书写正确,同时根布局要声明Material的命名空间:<!-- 布局开头添加命名空间 --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- MaterialButton控件 --> <com.google.android.material.button.MaterialButton android:id="@+id/test_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点击测试" /> </LinearLayout>第三步:确保App主题继承自Material主题
打开res/values/styles.xml,修改App主题的父主题为Material系列:<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar"> <!-- 保留你已有的自定义属性 --> </style>如果用的是Material3,换成
Theme.Material3.Light.NoActionBar这类主题即可。
错误日志混淆的原因
当系统加载Activity布局时找不到控件类,会抛出底层异常,而系统会把这个异常包装成ActivityNotFoundException抛出,导致你误以为是Activity声明的问题。
内容的提问来源于stack exchange,提问作者Cruz
相关产品推荐
相关产品推荐

