从 0 开始:用 KMP&CMP 开发鸿蒙应用|Hello HarmonyOS!
从 0 开始 #01
第一个 KMP 鸿蒙工程
从创建到真机运行,本篇从安装插件开始。
在 Android Studio 中装好 KMP OHOS Support,新建工程时会多出 OHOS 选项。用模板创建工程,在 DevEco Studio 完成一次签名,回到熟悉的 IDE 点击运行,第一个 KMP 鸿蒙应用就能装到真机上。
这也是插件最直接的价值:不用再手动拉取示例工程,不用自己执行产物发布命令。工程模板、启动、日志和 Kotlin断点调试,已经被放进日常开发路径里。
这篇会完成什么?
按下面的流程走完,你会得到一个可以在鸿蒙手机上运行的 KMP 工程:
1.安装 KMP OHOS Support;
2.用模板创建带 OHOS 目标的工程;
3.用 DevEco Studio 打开 harmonyApp并完成签名;
4.回到 Android Studio ,选择 harmonyApp运行配置;
5.连接手机,点击运行。
日常代码仍然主要写在 composeApp。DevEco Studio 只需要在鸿蒙侧签名时打开;当前社区尚未提供可替代这一步的命令行签名能力。
准备工作
· Android Studio :安装插件、创建工程、编写和调试 Kotlin 代码。
· DevEco Studio:安装鸿蒙 SDK,并完成 harmonyApp的签名。
· 一台鸿蒙手机:打开开发者模式与 USB 调试,用数据线连接电脑。
第 1 步:安装 KMP OHOS Support
打开 Android Studio,进入 Settings → Plugins → Marketplace。
搜索 KMP OHOS Support,点击安装并重启 IDE。
这款插件由社区开发并在插件市场开放下载。直播中确认,Android Studio 安装、使用流程一致。

〔插件市场中搜索 KMP OHOS Support〕
第 2 步:用模板创建工程
点击 File → New → New Project。
安装插件后,模板列表会出现 OHOS 选项。选择后按提示继续创建即可:
· 只做鸿蒙端:保留 OHOS 目标;
· 需要多端开发:同时勾选 Android、iOS 等目标平台。
工程创建完成后,会看到几个主要目录:
· composeApp:共享业务逻辑、Compose 页面和各平台 source set 的主要位置;
· harmonyApp:鸿蒙侧工程,承接编译产物、签名与设备运行;
· iosApp:iOS 侧入口工程,当前不做 iOS 时可以先不处理。
插件省掉的是「从示例仓库拉工程、手工发布产物」的起步步骤。你拿到的是一个已经具备 OHOS 目标的工程结构。

〔新建工程中的 OHOS 模板选项 & 〔工程目录中的 composeApp、harmonyApp、iosApp〕
打开 DevEco Studio,选择工程内的 harmonyApp 目录,而不是整个 KMP 工程。
连接手机后,进入签名配置,登录华为账号并完成签名。
这是当前插件流程里仍需要手工处理的一步。原因不在插件本身:社区目前没有开放可由命令行替代的签名能力。
签名完成后,DevEco Studio 可以先关掉。除非后续修改包名、证书、Profile 或鸿蒙侧配置,否则日常开发可以回到 Android Studio 。

〔DevEco Studio 打开 harmonyApp & Signing Configs 中自动签名选项〕
第 4 步:从 IDE 跑到真机
回到 Android Studio 。
在顶部运行配置中选择 harmonyApp,再选择已经连接的鸿蒙手机,点击运行。
插件会接入鸿蒙侧的启动流程。直播演示中,工程构建、安装和启动都可以从这里完成;手机上出现示例应用,就说明这条链路已经跑通。

〔IDE 顶部选择 harmonyApp 与真机设备 & 手机中的示例应用〕
这套插件省掉了什么?
视频里展示了两条路径。
原始示例工程的路径,需要先从仓库下载代码,再手动执行 Gradle命令,把 composeApp的产物发布到 harmonyApp。后续再用 DevEco Studio 完成签名、构建和推包。
插件路径把工程创建、运行和调试放进 IDE。首次签名仍需进入 DevEco Studio;完成后,开发者可以直接选择 harmonyApp启动工程,并在 Kotlin 源码中打断点。
对第一次接触 KMP 鸿蒙开发的人来说,这减少的不是一两个点击,而是一段需要在多个工程、命令和工具之间来回切换的起步过程。
插件当前能做什么?
按直播演示,插件已经覆盖了日常开发中的基础能力:
· 创建带 OHOS 选项的 KMP 工程;
· 选择 harmonyApp启动真机;
· 在 Kotlin 代码中断点调试;
· 查看 HiLog 等调试信息;
· 在 Android Studio 中使用同一套流程。
它适合标准的鸿蒙开发与 KMP 接入场景。涉及特殊系统能力或更复杂的工程改造时,仍需要回到具体项目和平台配置处理。
Kotlin 单步调试耗时
停在 Kotlin、下一行马上能停住时,从点击到再次停住的预估时间。
|
操作 |
耗时 |
|---|---|
|
Step Into |
约 20-50 ms |
|
Step Over |
约 20-50 ms |
|
Step Out |
约 20-50 ms |
|
Continue |
约 10-30 ms |
常见问题
Q:插件要付费吗?
不用。插件已经在插件市场开放下载。
Q:为什么还要装 DevEco Studio?
当前流程仍要通过 DevEco Studio 完成签名。鸿蒙 SDK 也需要由 DevEco Studio 安装和管理。
Q:为什么 DevEco Studio 里不能调 Kotlin 断点?
DevEco Studio 打开的是 harmonyApp,看到的是鸿蒙侧工程和编译后的产物;Kotlin 源码位于父工程的 composeApp。回到 Android Studio ,插件提供了对应的 Kotlin 调试路径。
Q:首次同步、构建很慢,正常吗?
通常正常。首次运行涉及依赖下载、SDK 检查、签名和设备安装。先确认网络、JDK、SDK 路径和手机连接状态,再看 IDE 的构建日志。
第一个工程跑通后,下一篇从 composeApp开始改页面:哪些逻辑和界面可以共享,哪些内容应该留在鸿蒙侧。
即刻体验
CPF-KMP-CMP 鸿蒙平台首个正式版本已正式发布。欢迎上手验证、在社区提交 Issue/Discussion 反馈问题与需求,共同打磨 KMP&CMP 在鸿蒙平台上的生态与产品能力。
👉快速开始:(可复制链接至网页打开)
https://atomgit.com/CPF-KMP-CMP/docs
👉发布公告:(可复制链接至网页打开)
https://atomgit.com/org/CPF-KMP-CMP/discussions/15
参与社区共建
加入 CPF-KMP-CMP 社区,参与 KMP&CMP 鸿蒙版本规划和技术共建。
更多推荐



所有评论(0)