如何解决 <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/Theme.MyApplication" tools:targetApi="31"> <activity android:name=".MainActivity" android:exported="true"> <activity android:name=".MainActivity2" android:exported="false" /> <intent-filter><!--默认打开的activity--> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>中的The `<activity>` element must be a direct child of the <application> element问题
时间: 2023-06-10 10:08:07 浏览: 118
这个问题的意思是 `<activity>` 元素必须是 `<application>` 元素的直接子元素,但是在你的清单文件中,`<activity>` 元素被放在了 `<application>` 元素的外面。
为了解决这个问题,你需要将 `<activity>` 元素移动到 `<application>` 元素内部,像这样:
```
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp">
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme.MyApplication"
tools:targetApi="31">
<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>
<activity
android:name=".MainActivity2"
android:exported="false" />
</application>
</manifest>
```
注意,`<activity>` 元素应该在 `<application>` 元素内部,但是可以有多个 `<activity>` 元素。另外,`<intent-filter>` 元素应该是 `MainActivity` 元素的子元素,而不是 `application` 元素的子元素。
阅读全文