Spec-Zone.ru › Kotlin 2

Компоненты только для Android

Compose Multiplatform построен на основе Jetpack Compose. Большинство функций Compose Multiplatform доступно на всех платформах. Однако есть API и библиотеки, которые можно использовать только в целевой платформе Android. Это связано либо с тем, что они предназначены только для Android, либо с тем, что их ещё не перенесли на другие платформы. На этой странице приводится краткий обзор этих частей API Compose Multiplatform.

Иногда в документации Jetpack Compose или статьях, созданных сообществом, можно встретить API, доступный только для целевой платформы Android. При попытке использовать его в коде commonMain ваша IDE сообщит, что этот API недоступен.

API только для Android

API только для Android предназначен исключительно для этой платформы и недоступен на других платформах. Это связано с тем, что другим платформам не нужны некоторые концепции, используемые в Android. Обычно в этом API используются классы из пакета android.* или настраивается поведение, специфичное для Android. Вот несколько примеров частей API только для Android:

  • класс android.context.Context

  • переменные LocalContext и LocalConfiguration

  • классы android.graphics.BitmapFactory и android.graphics.Bitmap

  • функция ImageBitmap.asAndroidBitmap()

  • класс android.app.Activity

  • функция android.app.Activity.setContent()

  • класс ComposeView

  • переменная LocalView

  • функция Modifier.pointerInteropFilter()

  • библиотека внедрения зависимостей Hilt

Обычно нет веских причин делать такие части API общими, поэтому лучше оставить их только в androidMain.

API с классами Android в сигнатурах

Некоторые части API Compose Multiplatform используют в сигнатурах android.*, androidx.* (за исключением androidx.compose.*), но их поведение применимо и на других платформах:

  • Управление ресурсами: stringResource, animatedVectorResource, Font и класс *.R для управления ресурсами. Дополнительную информацию см. в разделе Изображения и ресурсы.

  • Навигация. Дополнительную информацию см. в разделе Навигация и маршрутизация.

  • класс ViewModel. Дополнительную информацию см. в разделе Мультиплатформенный ViewModel.

  • библиотека Paging.

  • компоновка ConstraintLayout.

  • библиотека Maps.

  • инструмент Preview и плагин для предварительного просмотра приложений для настольных компьютеров.

  • класс WebView.

  • Другие библиотеки Jetpack Compose, которые ещё не перенесены в Compose Multiplatform.

В будущем их могут перенести в commonMain в зависимости от сложности и спроса.

API, которые часто используются при разработке приложений, например разрешения, устройства (Bluetooth, GPS, камера) и операции ввода-вывода (сеть, файлы, базы данных), не входят в область применения Compose Multiplatform.

API без классов Android в сигнатурах

Некоторые части API могут быть доступны только для целевой платформы Android, даже если их сигнатуры не содержат классов android.* или androidx.* и API применим на других платформах. Обычно это связано с тем, что реализация использует множество особенностей платформы, и создание других реализаций для остальных платформ требует времени.

Обычно такие части API переносят в Compose Multiplatform после их появления в Jetpack Compose для целевой платформы Android.

В Compose Multiplatform 1.12.0 следующие части API не доступны в commonMain:

  • функция Modifier.imeNestedScroll()

  • функция Modifier.systemGestureExclusion()

  • функция Modifier.magnifier()

  • переменная LocalOverscrollConfiguration

  • API AnimatedImageVector.animatedVectorResource

  • библиотека material3-adaptive

  • библиотека material3-window-size-class

Запрос на перенос API Android

Для каждого API, который можно перенести с Android, в YouTrack для Compose Multiplatform есть открытая задача. Если вы считаете, что API можно перенести с Android и сделать общим, но для него ещё нет задачи, создайте её.

19 мая 2026 г.
Руководства по миграции на iOSAPI только для настольных компьютеров

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/multiplatform/compose-android-only-components.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API