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

配置flutter_health_connect时Android Manifest报错:找不到health_permissions数组

解决flutter_health_connect(^1.2.3)配置中的AndroidManifest报错问题

报错原因

你遇到的resource array/health_permissions not found错误,根源有两个:

  • 错误重复了<activity>标签,未将需要的代码插入已存在的.MainActivity节点内
  • 未在Android资源文件中定义health_permissions数组,导致Manifest中的meta-data找不到对应资源

1. 正确修改AndroidManifest.xml

不需要新增<activity>标签,直接将指定的meta-data和intent-filter插入现有.MainActivity内部,放在已有meta-data和intent-filter之后即可。修改后的完整Manifest代码如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <application
        android:label="asking"
        android:name="${applicationName}"
        android:icon="@mipmap/ic_launcher">
        <activity
            android:name=".MainActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:taskAffinity=""
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
            
            <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>
            <!-- 新增的health_permissions元数据 -->
            <meta-data android:name="health_permissions" android:resource="@array/health_permissions" />
            <!-- 新增的权限说明意图过滤器 -->
            <intent-filter>
                <action android:name="androidx.health.ACTION_SHOW_PERMISSIONS_RATIONALE" />
            </intent-filter>
        </activity>
        
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />
    </application>
    
    <queries>
        <package android:name="com.google.android.apps.healthdata" />
        <intent>
            <action android:name="android.intent.action.PROCESS_TEXT"/>
            <data android:mimeType="text/plain"/>
        </intent>
    </queries>

    <uses-permission android:name="android.permission.health.READ_ACTIVE_CALORIES_BURNED"/>
<uses-permission android:name="android.permission.health.WRITE_ACTIVE_CALORIES_BURNED"/>
</manifest>

2. 创建权限数组资源文件

在android/app/src/main/res/values/目录下创建arrays.xml文件(若已存在则直接编辑),添加health_permissions数组,填入你需要的Health Connect权限:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="health_permissions">
        <item>android.permission.health.READ_ACTIVE_CALORIES_BURNED</item>
        <item>android.permission.health.WRITE_ACTIVE_CALORIES_BURNED</item>
        <!-- 如需其他权限,在此继续添加即可 -->
    </string-array>
</resources>

完成以上两步后,重新编译项目即可解决报错。

内容的提问来源于stack exchange,提问作者Esteban G. Gutierrez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 04:06:22