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

Flutter项目APT错误:description属性与属性引用不兼容如何解决?

Flutter启动时APT错误(description属性不兼容)的解决方法

启动Flutter应用时触发APT错误,提示‘description’与属性引用不兼容,即使完全移除该属性也无法解决问题,需要修改以下内容:

问题关联的AndroidManifest.xml代码

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

    <uses-sdk
        android:minSdkVersion="16"
        android:targetSdkVersion="31" />
    
    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:name="android.app.Application"
        android:appComponentFactory="androidx.core.app.CoreComponentFactory"
        android:debuggable="true"
        android:icon="@mipmap/ic_launcher"
        android:label="turn_off"
        android:testOnly="true" >
        <activity
            android:name="com.example.turn_off.MainActivity"
            ...
        </activity>

        <receiver
            android:name="com.example.turn_off.DeviceAdmin"
            android:description="description"
            android:exported="true"
            android:label="app_name"
            android:permission="android.permission.BIND_DEVICE_ADMIN" >
            <meta-data
                android:name="android.app.device_admin"
                android:resource="@xml/policies" />

            <intent-filter>
                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
            </intent-filter>
        </receiver>

        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />
         ...
    </application>

</manifest>

具体修改步骤

  • 修正DeviceAdmin Receiver的属性引用

    • android:description必须引用字符串资源,不能直接写硬编码文本。将android:description="description"改为android:description="@string/admin_description",并在res/values/strings.xml中添加对应资源:
      <string name="admin_description">设备管理员功能描述</string>
      
    • 同步修正android:label="app_name"为android:label="@string/app_name",确保strings.xml中存在app_name资源。
  • 移除冗余的android:appComponentFactory属性
    该属性是AndroidX迁移时期的遗留配置,Flutter嵌入版本2会自动处理组件工厂,手动指定会导致APT冲突,直接删除即可。

  • 调整Application类配置
    将android:name="android.app.Application"改为android:name="androidx.multidex.MultiDexApplication"(如果项目启用了Multidex),或者直接移除这个属性,让Flutter框架自动适配Application类,避免与AndroidX组件的兼容性问题。

  • 清理项目缓存
    执行以下命令彻底清理缓存,消除旧配置的影响:

    flutter clean
    cd android && ./gradlew clean
    cd .. && flutter pub get
    

内容的提问来源于stack exchange,提问作者kiwi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 01:16:09