gpt4 book ai didi

android - 您上传的 APK 或 Android App Bundle 具有带有 Intent 过滤器的 Activity 、 Activity 别名、服务或广播接收器,但没有“an”

转载 作者:行者123 更新时间:2023-12-04 23:35:46 24 4
gpt4 key购买 nike

问题:您上传的 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 属性。
您可以按照以下步骤操作:

  • 打开 AndroidManifest.xml 文件并在底部选择 合并 list .
    像这样:enter image description here
  • 如果您无法预览合并 list ,请在您的 build.gradle 文件
    设置 compileSdkVersion 30 targetSdkVersion 30 并同步您的项目,现在尝试再次打开合并 list 我希望这次您能正确预览合并 list 。但如果没有预览,请不要担心,您仍然可以导航到您在项目中使用的不同第三方库中的各个 list 文件。

  • enter image description here
  • 现在检查所有使用 Intent 过滤器而不使用 的 Activity 、服务、接收器安卓:导出标签。在您的主 list 文件中,您可以简单地添加 安卓:导出属性(property)给 Activity 标记所以添加 android:exported=""并在这些引号内设置一个 bool 值。现在您可能会问,我什么时候需要将 android:exported="true"或 android:exported="false"添加到使用 Intent 过滤器的 Activity 、服务或广播接收器中。如果应用组件包含 LAUNCHER 类别,请将 android:exported 设置为 true。在大多数其他情况下,将 android:exported 设置为 false。
  • 注意:如果有任何使用 的 Activity 、服务或接收器,还要检查各个第三方库 list 文件。 那么您必须使用 覆盖主 list 文件中的相同 Activity 、服务或接收器安卓:导出属性(property)。

  • 例如,在我的例子中,我定义了 安卓:导出对于我的主 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 文件中提及它们。
  • 在完成所有这些操作后,您还可以更改回 targetSdkVersion 31 compileSdkVersion 31 在您的 build.gradle 文件。
  • 关于android - 您上传的 APK 或 Android App Bundle 具有带有 Intent 过滤器的 Activity 、 Activity 别名、服务或广播接收器,但没有“an”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70695372/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com