#android #android-studio
Вопрос:
Не удалось объединить манифест : android:для экспорта необходимо явно указать . Приложения, ориентированные на Android 12 и выше, должны указывать явное значение
android:exported
, когда для соответствующего компонента определен фильтр намерений. Видишь https://developer.android.com/guide/topics/manifest/activity-element#exported для подробностей.
<services
В файле моего приложения их нет AndroidManifest.xml
, я также искал каждый AndroidManifest.xml
файл, и в них также нет никаких <service
элементов, так почему я получаю эту ошибку?
На вкладке «Объединенный манифест» нет ошибок, однако в первом манифесте их два <receiver
, и я уже добавил android:exported
в них свойство вручную.
Комментарии:
1. Возможно, вы используете библиотеку, в которой есть служба. Вы проверили свой объединенный манифест? Для этого в редакторе манифестов в Android Studio есть вложенная вкладка.
Ответ №1:
В app
-> > src
-> > main
-> > AndroidManifest.xml
вам нужно явно добавить тег android:exported="true"
в каждом <Activity>
разделе <Application>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Eynetic">
<activity android:name=".Splash_Screen"
android:theme="@style/SplashTheme"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity"
android:theme="@style/MainTheme"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Смотрите тег Действия в коде…
<activity android:name=".Splash_Screen"
android:theme="@style/SplashTheme"
android:exported="true">
В настоящее время я делаю это с каждым действием, так как это была ошибка, выданная Android studio, но, возможно, есть лучший способ добавить ее только один раз где-нибудь в коде.
Ответ №2:
Попробуйте добавить android:exported = false
pr android:exported = true
в свой собственный файл манифеста и скомпилируйте код. Я надеюсь, что это решит вашу проблему. Так как добавление вручную в уведомлении работать не будет.
Комментарии:
1. Куда это добавить?
2. Поместите это под тегом MainActivity, где вы объявляете в файле манифеста
3. У меня
MainActivity
уже есть этот набор свойств. Я думаю, что вы не внимательно прочитали вопрос.4. Если это не работает, попробуйте установить целевой SDK на 30. Скомпилируйте и перестройте проект.
5. Добавьте снимок экрана манифеста, чтобы понять, что есть в манифесте.