в 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:exportedDSL в файле build.gradle вашего приложения. чтобы указать экспортируемое состояние:
android {
...
application {
activities {
create("main") {
exported = false
...
}
}
}
}
В этой статье мы рассмотрели значение атрибута android:exportedв Android 12 и более поздних версиях, который обязывает разработчиков приложений указывать явное значение. Мы предоставили несколько методов с примерами кода, которые помогут вам эффективно выполнить это требование. Обеспечение безопасности вашего приложения путем контроля видимости и доступности его компонентов имеет решающее значение в современном мире мобильных приложений.
Помните, что, применяя соответствующие настройки android:exported, вы повышаете общую безопасность своего приложения и защищаете его от потенциальных уязвимостей и несанкционированного доступа.
Объяснение