в Android 12 и более поздних версиях
, манифест Android, разрешения Android
В постоянно меняющейся сфере разработки мобильных приложений обеспечение безопасности наших приложений имеет первостепенное значение. В Android 12 к разработчикам приложений предъявляется важное требование — указывать явное значение атрибута android:exported
в файле манифеста Android. В этой статье блога мы углубимся в значение android:exported
, объясним его назначение и предоставим несколько методов с примерами кода для эффективного соблюдения этого требования.
Понимание android:exported
:
Атрибут android:exported
определяет, могут ли компоненты вашего приложения (действия, службы, поставщики контента и приемники вещания) быть доступны компонентам другие приложения или нет. Явно задав значение для android:exported
, вы контролируете видимость и доступность компонентов вашего приложения для других приложений.
Метод 1: установка android:exported
в файле AndroidManifest.xml
Чтобы указать атрибут android:exported
в файле манифеста Android, вы можете добавить его в качестве атрибута каждый компонент, которым вы хотите управлять:
<activity
android:name=".MainActivity"
android:exported="false">
...
</activity>
Метод 2: использование аннотаций (Kotlin)
Если вы используете Kotlin, вы можете использовать аннотацию @android:exported
, чтобы указать экспортируемое состояние ваших компонентов:
@Activity
@AndroidManifest(action = "com.example.ACTION_MY_ACTIVITY")
class MainActivity : AppCompatActivity() {
...
}
Метод 3. Использование аннотаций (Java).
Для разработчиков Java вы можете использовать аннотацию @Exported
из библиотеки AndroidX, чтобы указать экспортируемое состояние:
@Exported(false)
public class MyService extends Service {
...
}
Метод 4: плагин Gradle (плагин Android Gradle 7.0.0+)
Начиная с плагина Android Gradle 7.0.0, вы можете использовать свойство android:exported
DSL в файле build.gradle вашего приложения. чтобы указать экспортируемое состояние:
android {
...
application {
activities {
create("main") {
exported = false
...
}
}
}
}
В этой статье мы рассмотрели значение атрибута android:exported
в Android 12 и более поздних версиях, который обязывает разработчиков приложений указывать явное значение. Мы предоставили несколько методов с примерами кода, которые помогут вам эффективно выполнить это требование. Обеспечение безопасности вашего приложения путем контроля видимости и доступности его компонентов имеет решающее значение в современном мире мобильных приложений.
Помните, что, применяя соответствующие настройки android:exported
, вы повышаете общую безопасность своего приложения и защищаете его от потенциальных уязвимостей и несанкционированного доступа.
Объяснение