You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter编译报错:Android资源链接失败,<receiver>标签位置错误

解决Flutter编译时Android资源链接错误

编译报错信息:

* What went wrong:
Execution failed for task ':app:processDebugResources'.
> A failure occurred while executing com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask$TaskAction
   > Android resource linking failed
     /Users/technology/Documents/UneleapLaunch/build/app/intermediates/packaged_manifests/debug/AndroidManifest.xml:66: error: unexpected element <receiver> found in <manifest><application><activity>.
     /Users/technology/Documents/UneleapLaunch/build/app/intermediates/packaged_manifests/debug/AndroidManifest.xml:73: error: unexpected element <receiver> found in <manifest><application><activity>.

问题原因

你将两个<receiver>元素嵌套在了<activity>标签内部,而AndroidManifest的结构规则明确要求<receiver>必须作为<application>的直接子元素存在,不能放在<activity>内部,这直接导致了资源链接失败。

修复后的AndroidManifest.xml代码

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.iiii.iiiii">

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="android.permission.VIBRATE" />
   <application
        android:label="iiiii"
        android:name="${applicationName}"
        android:icon="@mipmap/ic_launcher">
        <activity
            android:name=".MainActivity"
            android:exported="true"
            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">
            <!-- Specifies an Android theme to apply to this Activity as soon as
                 the Android process has started. This theme is visible to the user
                 while the Flutter UI initializes. After that, this theme continues
                 to determine the Window background behind the Flutter UI. -->
            <meta-data
              android:name="io.flutter.embedding.android.NormalTheme"
              android:resource="@style/NormalTheme"
              />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        
        <!-- 移动到activity外部,作为application的直接子元素 -->
        <receiver android:exported="true" android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"></action>
            </intent-filter>
        </receiver>
        <receiver android:exported="true" android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationReceiver" />

        <!-- Don't delete the meta-data below.
             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />
    </application>
</manifest>

说明

修改后,两个<receiver>元素被调整为<application>的直接子元素,完全符合AndroidManifest的结构规范,重新编译项目即可解决该错误。

内容的提问来源于stack exchange,提问作者Gbenga B Ayannuga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 12:17:28