我在将应用程序包上载到play console时遇到问题,您上载了一个APK或Android应用程序包,该应用程序包具有活动、活动别名、服务或广播接收器(带有意图过滤器),但没有“Android:exported”属性集。无法在Android 12或更高版本上安装此文件。但我的清单文件包含该属性。
舱单文件:-
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="**********">
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
calls FlutterMain.startInitialization(this); in its onCreate method.
In most cases you can leave this as-is, but you if you want to provide
additional functionality it is fine to subclass or reimplement
FlutterApplication and put your custom class here. -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<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_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />
<uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" />
<application
android:name="io.flutter.app.FlutterApplication"
android:label="*****"
android:requestLegacyExternalStorage="true"
android:usesCleartextTraffic="true"
android:icon="@mipmap/ic_launcher">
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/ic_stat_artboard_1" />
<meta-data android:name="com.google.android.geo.API_KEY"
android:value="Z*********"/>
<provider
android:name="vn.hunghd.flutterdownloader.DownloadedFileProvider"
android:authorities="im.mingguang.mingguang_app.flutter_downloader.provider"
android:grantUriPermissions="true"
android:requestLegacyExternalStorage="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:exported="true"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="FLUTTER_NOTIFICATION_CLICK" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
错误:-在此处输入图像描述
在您的清单文件检查所有的活动,服务,接收器,使用意图过滤器没有android:导出标签。在您的主清单文件中,您可以简单地将android:导出属性添加到活动标记中,因此添加android:导出=",并在这些引号中设置布尔值。现在你可能会问,什么时候我需要添加android:导出="true"或android:导出="false"到使用意图过滤器的活动,服务或广播接收器。如果应用程序组件包括LAUNCHER类别,设置android:导出为true。在大多数其他情况下,设置android:导出为false。
注意:还要检查单个第三方库清单文件,如果有任何活动、服务或接收者使用,则必须使用android:exported属性覆盖主清单文件中的相同活动、服务或接收者。
关于更多的解释,你们可以参考我对同一问题的回答。
大约在1月11日,Play Store在上传APK时引入了一个lint检查,以验证导出的
属性是否在清单中正确设置。
像DexGuard这样混淆属性名称的工具将导致Play Store linter失败,因为它将无法检查导出的属性。
要解决此问题,请配置模糊处理工具以将属性名称保留在清单中
以下是我们用于DexGuard的规则:
-keepresourcexmlattributenames manifest/**
我面临同样的问题,但我通过在显示的android:name=“.MainActivity”图像下方的活动中编写android:exported=“true”来解决
问题:您上传了一个APK或Android应用程序捆绑包,该捆绑包具有活动、活动别名、服务或带有意图过滤器的广播接收器,但没有“Android:导出”属性集。此文件不能安装在Android 12或更高版本。请参阅:developer.android.com/about/versions/12/behavior-changes-12#exported我的Androidanifest.xml文件
嗨,有人能帮我吗?我只是按照这里的说明:开发者。Androidcom/about/versions/12/behavior-changes-12#导出 但我仍然得到同样的错误“你上传了一个APK或Android应用程序包,它有一个活动,活动别名,服务或广播接收器与意图过滤器,但没有'Android:导出'属性集。此文件不能安装在Android 12或更高版本。见:developer.android
我目前正在使用SharedReferences跟踪通过AlarmManager启动的BroadcastReceiver中要执行工作的项列表。除了一个特定的场景外,一切都很好。当我触发一个新项目来执行工作时,让它完成工作,然后删除该项目(全部通过SharedReferences编辑),它在应用程序运行时工作得很好。当列表中没有任何内容,我打开任务管理器并终止应用程序时,该项突然出现在Broadcas
每当它收到消息时,它都会在后台运行,即使应用程序没有运行,它也应该从后台启动活动
问题内容: 我在我的App中有不同之处,在所有这些方面,我都不需要。我找不到如何禁用它。我试图找到一个属性将其应用于,但到目前为止我什么都没找到。有人可以帮我吗? 问题答案: 哈哈,我刚才也被困在这一点上,所以很高兴我可以为您提供解决方案,至少对我有用:) 您想要做的是在values / styles.xml中定义一个新样式,如下所示 只有NoActionBar样式对您来说才有意义。最后,您必须在
我的应用程序中有不同的< code >活动,我不想要所有这些< code >活动栏。我找不到关闭它的方法。我试图找到一个属性,将其应用到< code>main_activity.xml中,但是到目前为止,我什么也没有找到。有人能帮我吗?