Flutter应用Android13安装失败:INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
Android 13安装Flutter应用报错INSTALL_PARSE_FAILED_MANIFEST_MALFORMED解决方法
你的Flutter应用在Android 13及以上设备安装时出现INSTALL_PARSE_FAILED_MANIFEST_MALFORMED错误,具体提示为intent tag may have at most one data scheme,问题出在AndroidManifest.xml的<queries>节点下。
问题原因
在你的Manifest文件中,<queries>内的第一个<intent>标签里同时声明了三个<data> scheme:tel、http、https。Android 13对Manifest的解析规则做了严格限制,每个<intent>标签下最多只能包含一个<data> scheme,多个scheme不能放在同一个intent中。
解决步骤
将包含多个scheme的<intent>拆分为三个独立的<intent>标签,每个标签对应一个scheme,保持action和category不变:
修改前的代码段:
<queries> <intent> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="tel" /> <data android:scheme="http" /> <data android:scheme="https" /> </intent> <intent> <action android:name="android.support.customtabs.action.CustomTabsService" /> </intent> </queries>
修改后的代码段:
<queries> <!-- 对应tel scheme --> <intent> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="tel" /> </intent> <!-- 对应http scheme --> <intent> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="http" /> </intent> <!-- 对应https scheme --> <intent> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="https" /> </intent> <intent> <action android:name="android.support.customtabs.action.CustomTabsService" /> </intent> </queries>
修改完成后重新打包应用,即可在Android 13设备上正常安装。
内容的提问来源于stack exchange,提问作者Angelina Gromova
相关产品推荐
相关产品推荐

