• Android 12 intent-filter添加android:exported后任然报错解决方法


    Android 12 或更高版本为目标平台,且包含使用intent-filter 过滤器的 activity、service或receiver,您必须为这些应用组件显式声明 android:exported 属性。

    常规操作 查看AndroidManifest.xml文件,搜索intent-filter,然后添加好android:exported属性(如果应用组件包含 LAUNCHER 类别,请将 android:exported 设置为 true。在大多数其他情况下,请将 android:exported 设置为 false)即可正常在Android 12及以上版本安装apk。
    在这里插入图片描述
    但是,有时候会发现AndroidManifest.xml中所有包含了intent-filter处都设置android:exported任然报错。这是因为项目引用了第三个库导致,三方库里的activity、service或receiver使用了intent-filter,但却未声明android:exported 属性。
    所以,我们按一下步骤排查三方库哪些activity、service或receiver使用了intent-filter,但却未声明android:exported 属性。

    1.Rebuild Project 重新编译
    在这里插入图片描述

    2.编译完成后,在项目中找到 app => build => intermediates => merged_manifest => developDebug => AndroidManifest.xml。
    在这里插入图片描述
    3.打开AndroidManifest.xml,从中找到 涉及intent-filter过滤器且没有设置 android:exported 属性的 Activity/Service/Receiver,把它们复制到自己项目的AndroidManifest.xml文件中,并添加上android:exported 属性。
    在这里插入图片描述
    4.再执行 Clean Project 清理项目,然后 Rebuild Project 重新编译即可解决Android 12 intent-filter添加android:exported后任然报错的问题。

  • 相关阅读:
    2022上海生物发酵展-品牌企业纷纷入驻抢占先机,谁来赴盛宴参邀您的参与
    (十七)STM32——定时器
    深入理解常见应用级算法思想
    猫树详解
    Springboot+dubbo框架升级踩坑记
    Jmeter工具使用总结
    数据栅格化
    贝恩解密NFT区块链游戏和收藏品市场
    【linux】详解TOP命令
    C语言 | Leetcode C语言题解之第132题分割回文串II
  • 原文地址:https://blog.csdn.net/Mr_Leixiansheng/article/details/134392300