从 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 鸿蒙版本规划和技术共建。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐