Flutter项目AndroidManifest报Unresolved class 'MainActivity'等错误如何解决
问题解决步骤
1. 修正AndroidManifest.xml结构
所有Attribute xxx is not allowed here报错基本都是标签嵌套错误导致,正确的AndroidManifest核心结构如下,对照修改即可:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.cartoon_magic"> <!-- 权限声明写在此处 --> <application android:label="cartoon_magic" android:icon="@mipmap/ic_launcher" android:allowBackup="true" android:supportsRtl="true"> <!-- activity标签必须放在application标签内部 --> <activity android:name=".MainActivity" android:launchMode="singleTop" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest>
重点检查两点:
<application>标签的所有属性都写在<application和对应的>之间,没有提前关闭- 所有
<activity>标签完全包裹在<application>和</application>之间
2. 检查MainActivity.kt存放路径
Unresolved class 'MainActivity'报错通常是文件存放路径不匹配导致:
你的包名是com.example.cartoon_magic,MainActivity.kt必须存放在路径android/app/src/main/kotlin/com/example/cartoon_magic/MainActivity.kt下,缺失的文件夹层级手动创建后移入文件即可。
你现有MainActivity.kt的导入语句是正确的,不需要修改。
3. 清除IDE缓存
如果上述配置都正确仍报错,是Android Studio缓存异常,执行操作:
- 点击顶部菜单栏
File -> Invalidate Caches... - 勾选
Clear file system cache and local history - 点击
Invalidate and Restart等待IDE重启即可
内容的提问来源于stack exchange,提问作者How About That
相关产品推荐
相关产品推荐

