模拟器安装应用报错:INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
解决INSTALL_PARSE_FAILED_MANIFEST_MALFORMED安装错误
错误详情
执行命令
package install-commit 27757417提交安装会话27757417失败。错误信息:INSTALL_PARSE_FAILED_MANIFEST_MALFORMED: 在installPackageLI解析过程中失败:/data/app/vmdl27757417.tmp/base.apk(位于二进制XML文件第57行):com.nfs.mobility.myapp.activities.SplashActivity: 目标版本为S+(31及以上)时,当存在intent filters时必须显式定义android:exported的值
问题原因
Android 12(SDK 31)及以上版本提升了应用组件的安全性要求:所有带有intent-filter的Activity、Service、BroadcastReceiver,必须显式声明android:exported属性,明确该组件是否允许被其他应用调用。
解决步骤
- 打开项目中的
AndroidManifest.xml文件 - 定位到
com.nfs.mobility.myapp.activities.SplashActivity的声明节点 - 添加
android:exported属性:- 若该Activity是应用入口(带有
ACTION_MAIN和LAUNCHER的intent-filter),设置为android:exported="true" - 若仅用于应用内部调用,设置为
android:exported="false"
- 若该Activity是应用入口(带有
示例代码:
<activity android:name="com.nfs.mobility.myapp.activities.SplashActivity" android:exported="true"> <!-- 根据实际需求设置true或false --> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
- 重新编译打包应用,再次尝试安装即可解决该问题
内容的提问来源于stack exchange,提问作者Muhammad Saqib Javed
相关产品推荐
相关产品推荐

