Xamarin.Forms中INSTALL_PARSE_FAILED_MANIFEST_MALFORMED安装错误求助
解决INSTALL_PARSE_FAILED_MANIFEST_MALFORMED错误(Android 12 + Firebase推送插件)
问题原因
Android 12(API 31)及更高版本有强制要求:所有包含intent filters的组件(Service、Activity、BroadcastReceiver等)必须显式声明android:exported属性,值设为true或false。你使用的Plugin.FirebasePushNotification插件自动生成的PNFirebaseMessagingService服务带有intent filter,但未添加该属性,导致安装时清单解析失败。
解决方案
在你的AndroidManifest.xml的<application>标签内,显式声明该服务并添加android:exported属性。由于插件可能已通过清单合并注入该服务,需使用tools:node="merge"确保属性正确合并。
修改后的完整清单代码
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:versionCode="2" android:versionName="1.0.2" package="com.healholmes" android:installLocation="preferExternal"> <uses-sdk android:minSdkVersion="24" android:targetSdkVersion="31" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <application tools:replace="android:label" android:label="Heal Holmes" android:icon="@mipmap/icon_ambush"> <!-- 显式声明Firebase推送服务并添加android:exported属性 --> <service android:name="crc6494e14b9856016c30.PNFirebaseMessagingService" android:exported="true" tools:node="merge"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT" /> </intent-filter> </service> </application> <queries> <intent> <action android:name="android.media.action.IMAGE_CAPTURE" /> </intent> </queries> </manifest>
补充说明
android:exported="true":该服务需要接收Firebase的推送事件,外部服务(Firebase)需能访问它,因此设为true。tools:node="merge":确保与插件自动生成的服务声明合并,避免清单冲突。
内容的提问来源于stack exchange,提问作者jalal uddin
相关产品推荐
相关产品推荐

