Android问题解决方案:Android 打空包后提示没有”android:exported“的属性设置

Posted ProMer_Wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android问题解决方案:Android 打空包后提示没有”android:exported“的属性设置相关的知识,希望对你有一定的参考价值。

android 打空包后提示没有”android:exported“的属性设置

Android 打空包后提示没有”android:exported“的属性设置

1、问题:

今日了解到了一个新内容,意指打一个新的空包提审,来实现同个应用二次提审的效果;通过一系列操作后,成功打出了所谓aab格式的安装包。(至于为什么是aab格式,相信有所了解的朋友自然也知道什么原因,还未曾了解的朋友可以先了解相关的信息,这里就不赘述了,自行了解一下为什么目前需要打出aab格式的安装包。)将打出的aab安装包上传提交至开发这平台后,报出警告与提示:

提示内容:

您上传的APK或Android App Bundle内含活动、活动别名、服务或广播接收器,这些项目有intent过滤器,但没有"android:exported"属性设置。此文件无法在Android 12或更高版本上安装。

后续通过了解得知,其实应该是针对Android12,即API 31版本后的相关规范;

2、文档

谷歌开发者平台提供了一个文档链接如下:

https://developer.android.com/about/versions/12/behavior-changes-12?hl=zh-cn#exported

跟我们所提及到的内容较为相关的主要如下图:



3、参考链接:

Android:exported 属性知识

1、android:exported 是 Android中的四大组件 Activity,Service,Provider,Receiver 四大组件中都会有的一个属性。
2、android:exported 代表是否能被其他应用隐式调用。
3、true允许被启动,false不允许被启动。
4、android:exported 默认值是由有无intent-filter决定的,如果有intent-filter,默认值为true,否则为false。
5、android:exported = false的情况下,这个Activity将只会被当前Application或者拥有同样user ID的Application的组件调用,对于其他应用,即使有intent-filter匹配,也无法打开,即无法被其他应用隐式调用。

Android官方文档对exported的说明:

4、解决方案:

1、那么通过官方文档和以上内容得知,大概的意思就是Android 12版本以及更高版本intent-filter不能被隐式调用了,只能显示调用了,如果我们需要调用的话,我们则要加android:exported = ”true“这个属性设置。即在AndroidMa…文件里面添加对应的android:exported 属性设置即可。

作者:ProMer_Wang

链接:https://blog.csdn.net/qq_43801020/article/details/129105336

本文为ProMer_Wang的原创文章,著作权归作者所有,转载请注明原文出处,欢迎转载!

以上是关于Android问题解决方案:Android 打空包后提示没有”android:exported“的属性设置的主要内容,如果未能解决你的问题,请参考以下文章

LRF-idea解决空包自动隐藏,“Hide empty Middle Packages”找不到问题

普歌-idea解决空包自动隐藏,“Hide empty Middle Packages”找不到问题

Android - 解析推送通知在打开时崩溃

PHP <-> Java Socket 随机空包 [已解决]

android重启项目之后布局界面打不开

Unity打安卓包 Android 所有错误解决方案大全(几乎囊括所有打包错误 )