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

如何为Flutter应用启用ChromeOS支持?添加配置后构建未生效

解决Flutter构建AppBundle后AndroidManifest未包含指定uses-feature的问题
  • 确认<uses-feature>的放置位置
    确保你把这段代码放在<manifest>标签内部、<application>标签外部,正确结构如下:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.your.package">
    
        <uses-feature
            android:name="android.hardware.touchscreen"
            android:required="false" />
    
        <application
            android:label="Your App"
            android:icon="@mipmap/ic_launcher">
            <!-- 应用内容 -->
        </application>
    </manifest>
    

    若放在<application>内,构建时会被忽略,导致配置不生效。

  • 清理构建缓存后重新构建
    旧的构建缓存可能覆盖你的Manifest修改,执行以下命令清理并重新生成AppBundle:

    flutter clean
    flutter build appbundle
    
  • 通过Gradle直接声明uses-feature
    如果Manifest合并机制未生效,可直接在android/app/build.gradle的defaultConfig块中添加声明,这是更可靠的方式:

    android {
        defaultConfig {
            // 其他配置...
            usesFeature("android.hardware.touchscreen", false)
        }
    }
    

    Android Gradle插件会自动将该声明合并到最终的AndroidManifest中。

  • 验证最终生成的Manifest内容
    直接查看build目录临时文件可能不准确,建议用bundletool解压AppBundle确认:

    1. 执行命令生成APKs包:
      bundletool build-apks --bundle=./build/app/outputs/bundle/release/app-release.aab --output=app.apks
      
    2. 解压APKs包:
      unzip app.apks -d app-apks
      
    3. 查看app-apks/base/manifest/AndroidManifest.xml文件,确认<uses-feature>是否存在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 13:42:45