개발/KMP

Kotlin Multiplatform(KMP) 프로젝트 시작하기[1] – 프로젝트 생성

dev0ju 2025. 5. 16. 18:38

안녕하세요!
오늘은 Kotlin Multiplatform(KMP) 환경에서 Android와 iOS 모두에서 공통 코드를 사용할 수 있는 샘플 프로젝트를 만드는 방법을 정리해보려고 해요.

저도 공부하면서 기억하기위해 순서대로 정리하면서 작성할 예정이니 틀린내용이나 궁금한점은 언제든 남겨주세요 😅


진행순서는 다음과 같습니다.

  1. 개발 환경 설정
  2. 새 KMP 프로젝트 생성
  3. 공통 코드와 플랫폼별 코드 살펴보기
  4. Android 및 iOS 앱 빌드해보기

🛠️ 1. 개발 환경 설정

KMP 프로젝트는 Android Studio + Kotlin Multiplatform 플러그인을 이용해 설정합니다.

1-1. Android Studio 설치

최신 버전의 Android Studio를 설치합니다.
Android Studio 다운로드 링크

 

1-2. KMP 플러그인 설치 확인

  • Android Studio 실행
  • Settings (Preferences) > Plugins 메뉴 이동
  • "Kotlin Multiplatform" 검색 후 설치

설치 후 Android Studio 재시작이 필요합니다.

 

📌 참고

KMP는 모바일 앱 개발 뿐만 아니라 다양한 플랫폼(데스크탑 앱, 서버 등)을 위한 기술이기 때문에,
이런 오해를 줄이고자 Jetbrains는 
KMM 대신 KMP라는 명칭을 공식적으로 사용할 것을 권장하는 발표를 했습니다.
KMM은 이제 더 이상 권장되지 않으며, 공식적으로는 KMP(Kotlin Multiplatform) 를 사용해야 합니다.

https://blog.jetbrains.com/ko/kotlin/2023/08/update-on-the-name-of-kotlin-multiplatform/

 

Kotlin Multiplatform 이름 업데이트 | The Kotlin Blog

TL;DR: 지난 2년 동안 많은 Kotlin 개발자를 헷갈리게 했던 이름 불일치와 약어 혼동의 오랜 문제를 해결하기 위해 'Kotlin Multiplatform Mobile'(KMM )이라는 제품 이름을 더 이상 사용하지 않기로 결정했습

blog.jetbrains.com


🆕 2. 새 KMP 프로젝트 생성하기

2-1. 새 프로젝트 만들기

  • File > New > New Project 선택
  • 템플릿에서 Multiplatform App 또는 Kotlin Multiplatform App 선택

 

 주의: Kotlin Multiplatform App 이 확인되지 않는 경우!

최신 Kotlin 기능을 쓰기 위해 Kotlin K2 컴파일러를 활성화해둔 경우가 많습니다.
이 경우 다음과 같은 에러가 발생할 수 있습니다.

 Plugin is incompatible with the Kotlin plugin in "K2" mode

❗ 문제 해결 방법: K2 비활성화하기

  1. Android Studio에서 Settings 열기
  2. Languages & Frameworks > Kotlin > Compiler 메뉴 이동
  3. 아래 항목 확인:
    • Enable K2 mode 옵션이 체크되어 있다면, 체크 해제합니다.

IDE 재시작 후 다시 KMP 플러그인 설치 시 정상 작동합니다.

💬 참고:
K2는 향후 기본값이 될 예정이지만, 현재일부 플러그인은 완전한 호환이 되지 않으므로 문제가 있다면 일시적으로 K1을 사용하는 것을 권장합니다.

 

2-2. 프로젝트 구성

  • 공유 대상 플랫폼: Android & iOS 선택
  • Kotlin DSL (Gradle Kotlin) 선택
  • Compose Multiplatform UI 여부는 필요에 따라 선택


🧱 3. 프로젝트 구조 살펴보기

프로젝트가 생성되면 기본적으로 다음과 같은 구조를 갖습니다.

KMPHelloApp/
├── androidApp/          # Android 전용 코드
├── iosApp/              # iOS 전용 코드 (Xcode로 열림)
├── shared/              # 공통 코드 (Kotlin Multiplatform)
│   ├── src/
│   │   ├── commonMain/
│   │   ├── androidMain/
│   │   └── iosMain/

 

  • commonMain 폴더 안에는 Android/iOS 공통 코드 작성
  • 각 플랫폼별 특화 코드(androidMain, iosMain)

 

📌 다음 포스트 예고

빌드하고 애뮬레이터를 통해 앱 실행은 다음 포스트에서 다루겠습니다.

  • Android 에뮬레이터에서 앱 실행
  • iOS 에뮬레이터에서 앱 실행