Android 12 适配之 "Android:exported"

1|0Android 12 适配之 "Android:exported"

build.gradle 中的 targetSDKVersioncompileSdkVersion 改为 31,对应 Android 12

build 项目报错

Apps targeting Android 12 and higher are required to specify an explicit value for android:exported when the corresponding component has an intent filter defined. See https://developer.android.com /guide /topics /manifest /activity -element#exported for details.

查看对应官网的解释

WX20230808-093417_2x

只要带有 intent-filter 标签的,就需要显式的指定 Android:exported 的值,activityreceiver

例如

QQ20230808-112339

1|1方法 1

targetSDKVersioncompileSdkVersion 回退到 31 以下

1|2方法 2

修改 AndroidManifest.xml 文件

将我们能改的 AndroidManifest.xml 文件中需要显式指定 Android:exported 的值都改掉,但是有一些三方库也没有针对 Android 12 做适配,由于在 Android build 过程中,会将所有的 AndroidManifest.xml 文件合并成一个文件,将其中的一些标签合并到一起
WX20230808-094451_2x

WX20230808-094641_2x

打开主项目的 AndroidManifest.xml 文件,查看 Merged Manifest,可以看到具体的报错和警告,发现有一个库:blockcanary 没有适配,这个库是用于检测程序卡顿的,看了一下最新的库都已经是 2017 年得了,只有先废弃,要是有需求的话再找替代的库

WX20230808-094833_2x

现在主项目和三方库的 AndroidManifest.xml 文件都没有问题了,再次运行成功。


__EOF__

本文作者R1cardo
本文链接https://www.cnblogs.com/r1cardo/p/17613699.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   R1cardo  阅读(561)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示