AAPT:错误:在 <manifest><application><activity> 中发现了意外元素 <activity>

Posted

技术标签:

【中文标题】AAPT:错误:在 <manifest><application><activity> 中发现了意外元素 <activity>【英文标题】:AAPT: error: unexpected element <activity> found in <manifest><application><activity> 【发布时间】:2022-01-20 02:49:27 【问题描述】:

指定

ERROR:C:\Users\rafaw\OneDrive\Desktop\pp_rafa\pp_rafa\remindertest\app\build\intermediates\packaged_manifests\debug\androidManifest.xml:27: AAPT: error: unexpected element <activity> found in  <manifest><application><activity>.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.remindertest"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="21"
        android:targetSdkVersion="31" />

    <application
        android:allowBackup="true"
        android:appComponentFactory="androidx.core.app.CoreComponentFactory"
        android:debuggable="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:testOnly="true"
        android:theme="@style/Theme.ReminderTest" >
        <activity
            android:name="com.example.remindertest.Activity2"
            android:exported="false" />
        <activity
            android:name="com.example.remindertest.MainActivity"
            android:exported="true" >
            <activity android:name="com.example.remindertest.DestinationActivity" />

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <receiver android:name="com.example.remindertest.AlarmReceiver" />

        <provider
            android:name="androidx.startup.InitializationProvider"
            android:authorities="com.example.remindertest.androidx-startup"
            android:exported="false" >
            <meta-data
                android:name="androidx.emoji2.text.EmojiCompatInitializer"
                android:value="androidx.startup" />
            <meta-data
                android:name="androidx.lifecycle.ProcessLifecycleInitializer"
                android:value="androidx.startup" />
        </provider>
    </application>

</manifest>

虽然我可以启动我的应用程序/模拟器,但有一些功能不起作用。你们知道发生了什么吗?另外,当我打开 AndroidManifest 时它是正常的,但是当我启动模拟器时它会变成红色,如果我退出并再次打开它会恢复到正常的黄色,尽管在目标活动问题下有一个红色下划线

【问题讨论】:

“发现意外元素 ”。 将此移出 MainActivity . 所以我将它移到了 MainActivity 之外,但是当我重新加载应用程序时,它又移回了 mainActivity 内部 您可能已将其从 \debug\AndroidManifest.xml 中移出。您在此处发布的清单来自 app/src/main/AndroidManifest.xml ? 尝试在 build.gradle(app-level) 中定义这些属性。 android:versionCode="1, android:versionName="1.0". android:minSdkVersion="21", android:targetSdkVersion="31" 并让你的清单更干净。然后取出这一行 从您的启动器活动中 【参考方案1】:

使用您的清单更新此清单文件,然后重新构建。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.remindertest"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="21"
        android:targetSdkVersion="31" />

    <application
        android:allowBackup="true"
        android:appComponentFactory="androidx.core.app.CoreComponentFactory"
        android:debuggable="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:testOnly="true"
        android:theme="@style/Theme.ReminderTest" >
        <activity
            android:name="com.example.remindertest.Activity2"
            android:exported="false" />


            <activity android:name="com.example.remindertest.DestinationActivity" />

        <activity
            android:name="com.example.remindertest.MainActivity"
            android:exported="true" >

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <receiver android:name="com.example.remindertest.AlarmReceiver" />

        <provider
            android:name="androidx.startup.InitializationProvider"
            android:authorities="com.example.remindertest.androidx-startup"
            android:exported="false" >
            <meta-data
                android:name="androidx.emoji2.text.EmojiCompatInitializer"
                android:value="androidx.startup" />
            <meta-data
                android:name="androidx.lifecycle.ProcessLifecycleInitializer"
                android:value="androidx.startup" />
        </provider>
    </application>

</manifest>

【讨论】:

以上是关于AAPT:错误:在 <manifest><application><activity> 中发现了意外元素 <activity>的主要内容,如果未能解决你的问题,请参考以下文章

Flutter AAPT:错误:在 <manifest> 中发现了意外的元素 <appliation>

AAPT:错误:在 <manifest> 中发现了意外元素 <queries>。将 admob 广告添加到我的应用时出错

Android Studio 报出此错AAPT: error: unexpected element <intent-filter> found in <manifest><application>.

AAPT:错误:未绑定的前缀。在 XML 安卓中

我的错误“在 <manifest> 中发现了意外的元素 <queries>”,如何解决? [关闭]

AAPT 错误不匹配的标签到目前为止已经尝试了所有方法做错了啥