Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
La multiplateforme Kotlin (KMP) permet de partager du code Kotlin sur différentes plates-formes. Kotlin Multiplatform est développé par JetBrains et est officiellement pris en charge par Google pour le partage de la logique métier entre Android et iOS. L'utilisation de KMP pour cibler des plates-formes mobiles est stable et prête pour la production.
Bibliothèques Jetpack pour la multiplateforme
Nombre de nos bibliothèques Jetpack ont déjà été migrées pour tirer parti de KMP. Les bibliothèques Jetpack suivantes sont compatibles avec KMP :
La documentation de référence de ces bibliothèques (par exemple, DataStoreFactory) marque les API en fonction de leur disponibilité pour le code commun, Android et le code natif.
Vous pouvez également filtrer les déclarations par plate-forme en haut de chaque page. Le tableau suivant indique la signification de chaque marqueur.
Plates-formes compatibles
Les versions de la bibliothèque Jetpack pour les plates-formes officiellement compatibles, Android et iOS, respectent les mêmes exigences de qualité et de compatibilité. Toutefois, comme nous nous efforçons d'étendre la compatibilité de Jetpack avec Kotlin Multiplatform à d'autres plates-formes, la prise en charge des outils et de l'infrastructure peut être en cours de développement.
Le niveau d'assistance actuel pour chaque plate-forme peut être résumé en niveaux :
Niveau 1 :
Entièrement testé dans l'intégration continue, y compris les tests côté hôte et sur l'appareil
Testé partiellement sur l'intégration continue ; limité aux tests côté hôte
Aucun suivi de la compatibilité des sources ou des binaires
Niveau 3 :
Non testé sur CI
Aucun suivi de la compatibilité des sources ou des binaires
Plate-forme
Niveau d'assistance
Android
Niveau 1
JVM
Niveau 1
iOS
Niveau 1
macOS
Niveau 2
Linux
Niveau 2
watchOS
Niveau 3
tvOS
Niveau 3
Windows
Niveau 3
JavaScript
Niveau 3
WASM
Niveau 3
Outils compatibles
Vous pouvez ouvrir, modifier et exécuter des projets de multiplateforme dans Android Studio. Cependant, certaines fonctionnalités d'IDE ne sont pas encore disponibles pour ces projets.
Créer un module KMP avec Android Studio
Vous pouvez commencer à migrer vers KMP en créant un module partagé KMP dans Android Studio. Ce module applique automatiquement tous les plug-ins nécessaires, y compris le plug-in Android-KMP, pour commencer à développer des applications Android et iOS.
Plug-in Kotlin Multiplatform Android Studio
Nous vous recommandons d'installer le plug-in Kotlin Multiplatform Android Studio développé par JetBrains. Ce plug-in offre plusieurs fonctionnalités pour faciliter l'expérience de développement :
Assistant Nouveau projet : créez un projet multiplate-forme dans l'IDE.
Vérifications préliminaires : elles vous aident à configurer votre environnement.
Configurations d'exécution : exécutez, déboguez et testez des applications sur iOS et Android directement depuis l'IDE.
Prise en charge de base de Swift dans l'IDE : bénéficiez d'une prise en charge de base de Swift dans l'IDE, y compris des outils de débogage multilingues, de la navigation et de la documentation rapide.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/13 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/08/13 (UTC)."],[],[],null,["# Kotlin Multiplatform Overview\n\n[Kotlin Multiplatform](https://kotlinlang.org/lp/mobile/) (KMP) enables sharing Kotlin code across\ndifferent platforms. Kotlin Multiplatform is developed by JetBrains and is\n[officially supported](https://android-developers.googleblog.com/2024/05/android-support-for-kotlin-multiplatform-to-share-business-logic-across-mobile-web-server-desktop.html) by Google for sharing business logic\nbetween Android and iOS. Using KMP to target mobile platforms is [stable and\nproduction-ready](https://blog.jetbrains.com/kotlin/2023/11/kotlin-multiplatform-stable/).\n\n\u003cbr /\u003e\n\nMultiplatform Jetpack libraries\n-------------------------------\n\nMany of our Jetpack libraries have already been migrated to take advantage of\nKMP. The following Jetpack libraries provide KMP support:\n\n| Maven Group ID | Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release | Documentation |\n|----------------------------------------------------------|-----------------|-----------------------------------------------------------------|------------------------------------------------------------|--------------|-----------------------------------------------------------------------------------|--------------------------------------------------|\n| [annotation (\\*)](/jetpack/androidx/releases/annotation) | July 16, 2025 | [1.9.1](/jetpack/androidx/releases/annotation#annotation-1.9.1) | - | - | - |\n| [collection](/jetpack/androidx/releases/collection) | March 12, 2025 | [1.5.0](/jetpack/androidx/releases/collection#1.5.0) | - | - | - |\n| [datastore](/jetpack/androidx/releases/datastore) | May 20, 2025 | [1.1.7](/jetpack/androidx/releases/datastore#1.1.7) | - | - | [1.2.0-alpha02](/jetpack/androidx/releases/datastore#1.2.0-alpha02) | [Documentation](/kotlin/multiplatform/datastore) |\n| [lifecycle (\\*)](/jetpack/androidx/releases/lifecycle) | August 13, 2025 | [2.9.2](/jetpack/androidx/releases/lifecycle#lifecycle-*-2.9.2) | - | - | [2.10.0-alpha02](/jetpack/androidx/releases/lifecycle#lifecycle-*-2.10.0-alpha02) |\n| [paging (\\*)](/jetpack/androidx/releases/paging) | July 30, 2025 | [3.3.6](/jetpack/androidx/releases/paging#paging-*-3.3.6) | - | - | [3.4.0-alpha02](/jetpack/androidx/releases/paging#paging-*-3.4.0-alpha02) |\n| [room](/jetpack/androidx/releases/room) | August 13, 2025 | [2.7.2](/jetpack/androidx/releases/room#2.7.2) | [2.8.0-rc01](/jetpack/androidx/releases/room#2.8.0-rc01) | - | - | [Documentation](/kotlin/multiplatform/room) |\n| [savedstate](/jetpack/androidx/releases/savedstate) | August 13, 2025 | [1.3.1](/jetpack/androidx/releases/savedstate#1.3.1) | - | - | [1.4.0-alpha02](/jetpack/androidx/releases/savedstate#1.4.0-alpha02) |\n| [sqlite](/jetpack/androidx/releases/sqlite) | August 13, 2025 | [2.5.2](/jetpack/androidx/releases/sqlite#2.5.2) | [2.6.0-rc01](/jetpack/androidx/releases/sqlite#2.6.0-rc01) | - | - | [Documentation](/kotlin/multiplatform/sqlite) |\n\n### Reference documentation\n\nThe reference documentation for these libraries (for example,\n[`DataStoreFactory`](/reference/kotlin/androidx/datastore/core/DataStoreFactory)) marks the APIs based on their availability for common\ncode, Android, and Native.\n\nYou can also filter for declarations by platform at the top of each page. The\nfollowing table shows the meaning of each marker.\n\n\u003cbr /\u003e\n\nSupported platforms\n-------------------\n\nJetpack library releases for officially supported platforms, Android and iOS,\nmaintain the same quality and compatibility requirements. However, as we work to\nexpand Jetpack's Kotlin Multiplatform support to other platforms, the tooling\nand infrastructure support may be a work in progress.\n\nThe current level of support for each platform can be summarized in tiers:\n\n**Tier 1**:\n\n- Fully tested in CI; including both host-side and on-device tests\n- Source and binary compatibility tracking in accordance with our [semantic\n versioning policies](/jetpack/androidx/versions)\n\n**Tier 2**:\n\n- Partially tested on CI; limited to host-side tests\n- No source or binary compatibility tracking\n\n**Tier 3**:\n\n- Untested on CI\n- No source or binary compatibility tracking\n\n| Platform | Level of support |\n|------------|------------------|\n| Android | Tier 1 |\n| JVM | Tier 1 |\n| iOS | Tier 1 |\n| macOS | Tier 2 |\n| Linux | Tier 2 |\n| watchOS | Tier 3 |\n| tvOS | Tier 3 |\n| Windows | Tier 3 |\n| JavaScript | Tier 3 |\n| WASM | Tier 3 |\n\n| **Note:** The support level per-platform listed here is for Jetpack **library** releases. Tooling and IDE support in Android Studio is still a work in progress, and not all features may work for KMP projects.\n\nTooling support\n---------------\n\nYou can open, edit, and run multiplatform projects in Android Studio. However,\nsome IDE features aren't yet available for these projects.\n\n### Create a new KMP module with Android Studio\n\nYou can start migrating to KMP by [creating a KMP shared module](/kotlin/multiplatform/migrate)\nwithin Android Studio. This module automatically applies all the necessary\nplugins, including the [Android-KMP plugin](/kotlin/multiplatform/plugin), to start developing\nAndroid and iOS apps.\n\n### Kotlin Multiplatform Android Studio Plugin\n\nWe recommend installing the [Kotlin Multiplatform](https://plugins.jetbrains.com/plugin/14936-kotlin-multiplatform) Android\nStudio Plugin developed by JetBrains. This plugin offers several features to\nease the development experience:\n\n- **New project wizard**: Create a new multiplatform project within the IDE.\n- **Preflight checks**: Preflight checks help you configure your environment.\n- **Run configurations**: Run, debug, and test applications on both iOS and Android directly from the IDE.\n- **Basic Swift support in the IDE**: Get basic Swift support in the IDE, including cross-language debugging tools, navigation, and quick documentation.\n\nAdditional Resources\n--------------------\n\nFor further information about the overall multiplatform ecosystem and more\nadvanced configurations, see the official\n[Kotlin Multiplatform documentation](https://kotlinlang.org/docs/multiplatform-intro.html).\n\n- The [kotlin-multiplatform-samples](https://github.com/android/kotlin-multiplatform-samples) - showcases some of the\n functionality of Jetpack libraries in a KMP project.\n\n- [Get Started with KMP Codelab](/codelabs/kmp-get-started) - guided onboarding how to add KMP to your\n project.\n\n- [Migrate Room to Room KMP Codelab](/codelabs/kmp-migrate-room) - guided migration of Android-only\n Room to KMP.\n\nFeedback\n--------\n\nIf you have feedback on these libraries, share it through the [issue\ntracker](https://issuetracker.google.com/issues/new?component=1337890&template=1803002).\n\nRecommended for you\n-------------------\n\n- Note: link text is displayed when JavaScript is off\n- [Migrate existing apps to Room KMP Codelab](/codelabs/kmp-migrate-room)\n- [Get Started with KMP Codelab](/codelabs/kmp-get-started)\n- [Use the Android-KMP Gradle plugin](/kotlin/multiplatform/plugin)"]]