问题:您上传的 APK 或 Android App Bundle 具有带有 Intent 过滤器的 Activity 、 Activity 别名、服务或广播接收器,但未设置“android:exported”属性。此文件无法安装在 Android 12 或更高版本上。请参阅:developer.android.com/about/versions/12/behavior-changes-12#exported
我的 AndroidManifest.xml 文件
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.c4life.guardianangel">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<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"/>
<application
tools:replace="android:label"
android:label="GA"
android:exported="true"
android:icon="@mipmap/ic_launcher">
<meta-data android:name="com.google.android.geo.API_KEY"
android:value="[insert API key here]"/>
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<meta-data
android:name="io.flutter.embedding.android.SplashScreenDrawable"
android:resource="@drawable/launch_background"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<service android:name="changjoopark.com.flutter_foreground_plugin.FlutterForegroundService" android:exported="false"/>
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
<uses-sdk
android:targetSdkVersion="30"
tools:overrideLibrary="changjoopark.com.flutter_foreground_plugin" />
最佳答案
根据 google 新政策如果您的应用以 Android 12 或更高版本为目标并且包含使用 Intent 过滤器的 Activity 、服务或广播接收器,则您必须为这些应用组件显式声明 android:exported 属性。
您可以按照以下步骤操作:
像这样:
设置 compileSdkVersion 30 和 targetSdkVersion 30 并同步您的项目,现在尝试再次打开合并 list 我希望这次您能正确预览合并 list 。但如果没有预览,请不要担心,您仍然可以导航到您在项目中使用的不同第三方库中的各个 list 文件。
例如,在我的例子中,我定义了 安卓:导出对于我的主 list 文件中的每个 Activity 、服务或接收器,但在我的项目中我使用的是 Razor 支付 的 list 中的依赖项 so Razor 支付如果发现有 Activity 和 接收器哪些正在使用 没有 的属性(property)安卓:导出所以我在我的主要 list 文件中声明了它们。
如下所示 :
<activity
android:name="com.razorpay.CheckoutActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:theme="@style/CheckoutTheme"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<data
android:host="rzp.io"
android:scheme="io.rzp" />
</intent-filter>
</activity>
<receiver android:name="com.razorpay.RzpTokenReceiver"
android:exported="true"
android:permission="android.permission.INTERNET">
<intent-filter>
<action android:name="rzp.device_token.share" />
</intent-filter>
</receiver>
注意:在您的情况下,您可能需要查看更多文件并检查 Activity 、服务并在主 list 文件中提及它们。关于android - 您上传的 APK 或 Android App Bundle 具有带有 Intent 过滤器的 Activity 、 Activity 别名、服务或广播接收器,但没有“an”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70695372/