Android Studio中AndroidManifest.xml多根节点错误如何修复?
错误根因
- 核心问题是
<manifest>标签被错误写为自闭合标签(末尾带了/),AndroidManifest要求所有权限、应用配置、组件声明都必须嵌套在<manifest>的开闭标签内部,提前闭合后后续的<uses-permission>、<application>都成了独立根节点,直接触发多根节点报错。 - 额外冗余问题:
<uses-permission>中重复声明了tools命名空间,该命名空间已经在<manifest>头部完成声明,无需重复书写。 - 隐含逻辑问题:
<intent-filter>直接嵌套在<application>标签下不符合规范,该标签必须绑定到具体的四大组件(最常见的是启动页Activity)上才能生效。
修复后的完整配置
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.codepath.rkpandey.flixster"> <uses-permission android:name="android.permission.INTERNET" tools:ignore="WrongManifestParent" /> <application android:allowBackup="true" android:fullBackupContent="@xml/backup_descriptor" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.Flixster"> <!-- 此处替换为你自己的启动页Activity全类名 --> <activity android:name=".MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
内容的提问来源于stack exchange,提问作者CierraHawkins
相关产品推荐
相关产品推荐

