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

升级Android API34/33后INSTALL_PARSE_FAILED_MANIFEST_MALFORMED错误排查

排查INSTALL_PARSE_FAILED_MANIFEST_MALFORMED错误的关键点

针对你升级到API33/34后出现的安装解析错误,结合Manifest和Build Gradle代码,以下是核心排查和修复方向:

1. 补全带Intent Filter组件的android:exported属性

从Android 11(API30)开始,所有包含<intent-filter>的组件必须显式声明android:exported属性,否则会触发安装解析失败。你的Manifest中,ApiService广播接收器带有自定义Intent Filter,但未声明该属性,需补充:

<receiver
    android:name="company.com.infotainerApp.tasks.ApiService"
    android:exported="false"> <!-- 仅内部使用设为false,若需外部调用则设为true -->
    <intent-filter>
        <action android:name="broadcast.ApiService"/> <!-- 去掉name属性值前后的多余空格 -->
    </intent-filter>
</receiver>

同时建议给所有Service显式添加android:exported属性(即使没有Intent Filter),明确组件的可访问性。

2. 统一applicationId与Manifest包名

你的Manifest中package值为company.com.infotainerApp,但Build Gradle的defaultConfig里applicationId是company.Infotainer.app,两者不一致可能导致组件路径、权限匹配等潜在解析问题,建议修改Build Gradle中的applicationId:

applicationId "company.com.infotainerApp"

3. 适配Android 12+的蓝牙权限

API31(Android 12)开始,BLUETOOTH和BLUETOOTH_ADMIN权限已被废弃,需替换为新的蓝牙权限并做版本兼容:

<!-- Android 12+ 蓝牙权限 -->
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:usesPermissionFlags="neverForLocation" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<!-- 低版本兼容权限 -->
<uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" />

若蓝牙扫描需要位置信息,移除android:usesPermissionFlags="neverForLocation"即可。

4. 修正前台服务的API34适配要求

API34(Android 14)开始,前台服务必须指定android:foregroundServiceType属性,根据ScannerForegroundService的功能添加对应类型,例如蓝牙扫描场景:

<service 
    android:name="company.com.infotainerApp.service.ScannerForegroundService"
    android:stopWithTask="true"
    android:foregroundServiceType="bluetooth_scan"/>

若服务涉及其他功能,可选择location、mediaPlayback等对应类型。

5. 修正FileProvider的Meta-data名称(可选但推荐)

使用AndroidX的FileProvider时,建议将旧的meta-data名称替换为AndroidX标准名称:

<meta-data
    android:name="androidx.core.content.FileProvider.PATHS"
    android:resource="@xml/file_provider_paths" />

其他检查项

  • 确认所有组件的类路径拼写正确,比如myCustomApp、ApiService等类实际存在于对应包路径下。
  • WRITE_EXTERNAL_STORAGE权限在API30+已被废弃,若仅访问应用私有目录可直接移除该权限;若需访问公共目录,需使用MANAGE_EXTERNAL_STORAGE权限(注意需符合Google Play政策)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 01:29:54