Android Studio应用安装失败求助:INSTALL_PARSE_FAILED_MANIFEST_MALFORMED错误
解决INSTALL_PARSE_FAILED_MANIFEST_MALFORMED(OneSignal广播接收器相关)
问题根源
报错明确指向com.onesignal.GcmBroadcastReceiver这个广播接收器——当应用目标SDK为31(Android 12)及以上时,所有带有intent-filter的组件(包括广播接收器、服务等)都必须显式声明android:exported属性,你之前只给Activity设置了该属性,并未处理这个广播接收器,所以问题依然存在。
解决方案
手动修改Manifest配置
在你的AndroidManifest.xml中找到com.onesignal.GcmBroadcastReceiver的注册节点,添加android:exported属性:<receiver android:name="com.onesignal.GcmBroadcastReceiver" android:exported="true"> <!-- 显式声明exported值 --> <intent-filter> <!-- 保留原有的intent-filter内容 --> </intent-filter> </receiver>注:如果该接收器用于接收系统广播或第三方SDK的外部回调,设为
true;若仅内部使用可设为false,根据OneSignal功能需求,通常设为true即可。升级OneSignal SDK版本
旧版本OneSignal SDK未适配Android 12+的android:exported要求,升级到最新稳定版后,SDK会自动在Manifest中添加合规配置,无需手动修改。在模块级build.gradle中更新依赖:dependencies { implementation 'com.onesignal:OneSignal:[最新稳定版本号]' }检查其他组件
排查Manifest中所有带有intent-filter的组件(比如Service、其他BroadcastReceiver、ContentProvider),确保它们都显式设置了android:exported属性,避免遗漏导致类似报错。
内容的提问来源于stack exchange,提问作者Farah
相关产品推荐
相关产品推荐

