# How to start use Kotlin Multiplatform for mobile development

DevFeed: [How to start use Kotlin Multiplatform for mobile development](<https://devfeed.tech/articles/how-to-start-use-kotlin-multiplatform-for-mobile-development-24584.md>)

Original publisher: [Read original article](<https://medium.com/icerock/how-to-start-use-kotlin-multiplatform-for-mobile-development-1d3022742178?source=rss-2f461fccc401------2>)

Author: IceRock Development

Published: 2019-11-01T15:40:22Z

Content type: tutorial

Language: en

Sources: [Stories by IceRock Development on Medium](<https://devfeed.tech/sources/stories-by-icerock-development-on-medium.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Development](<https://devfeed.tech/topics/development.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [development](<https://devfeed.tech/tags/development.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [install](<https://devfeed.tech/tags/install.md>), [ios](<https://devfeed.tech/tags/ios.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-native](<https://devfeed.tech/tags/kotlin-native.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [swift](<https://devfeed.tech/tags/swift.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

## AI overview

A tutorial for converting standard Android and iOS projects into a Kotlin Multiplatform project with a shared library. It covers project setup, required development tools, Gradle module creation, mobile target configuration, and writing common Kotlin code.

## Source excerpt

1. Set up Kotlin Multiplatform Project We are going to turn two standard projects (Android and iOS) into a multiplatform project with a shared library on Kotlin Multiplatform. We will need: Android Studio 3.4.0+ (do not use 3.5.1 version, cause there is a bug is breaking MPP project); Xcode 10.3+; Xcode Command Line Tools (xcode-select --install); CocoaPods (sudo gem install cocoapods). To start, we'll need an Android project created from an Android Studio template and an iOS project created from an Xcode template. Put both projects in the same directory: ├── android-app │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ ├── androidTest │ │ └── java │ │ └── com │ │ └── icerockdev │ │ └── android_app │ │ └── ExampleInstrumentedTest.kt │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ └── icerockdev │ │ │ └── android_app │ │ │ └── MainActivity.kt │ │ └── res │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ ├── layout │ │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── icerockdev │ └── android_app │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle │ └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── ios-app │ ├── ios-app │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json