清单合并失败:面向 Android 12 及更高版本的应用需要为“android:exported”指定显式值

Abd*_*din 11 android android-studio

请帮助我解决在尝试通过 android studio 在移动设备上运行时进入我的项目时出现的错误。

清单合并失败:针对 Android 12 及更高版本的应用需要android:exported在相应组件定义了意图过滤器时指定显式值。有关详细信息,请参阅https://developer.android.com/guide/topics/manifest/activity-element#exported 。

AIM*_*PAN 14

将其添加到错误消息中的清单中的活动标记中:

android:exported="true"
Run Code Online (Sandbox Code Playgroud)

当您的活动可以由另一个应用程序启动时,就会发生这种情况。例如,单击图像时,文件管理器可以启动图像查看器。图像查看器应用程序被“导出”。

如果您使用动态链接所需的以下代码,也始终需要它:

    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
Run Code Online (Sandbox Code Playgroud)

例子:

    <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:windowSoftInputMode="adjustResize"
        android:exported="true">
       
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)


lad*_*ky0 7

我找到了这个解决方案!

因此,您必须将其添加android:exported="true"到清单中(而不是应用程序中)的活动标记中。

<application
        android:fullBackupContent="@xml/my_backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name">
        <activity android:name=".yourActivity" android:exported="true">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".otherActivity" android:exported="true"/>

    </application>

Run Code Online (Sandbox Code Playgroud)

要查看有关导出属性的更多信息,请参阅应用程序清单文件活动

:)