Kotlin Multiplatform--03:项目实战

Kotlin Multiplatform--03:项目实战

引言

本章将会带领读者进行项目实战,了解如何从零开始编译一个能同时在Android和iOS运行的App。开发环境一般来说需要使用Macbook,笔者没试过Windows是否能开发。


配置iOS开发环境

按command+空格,搜索钥匙串访问。

点击左上角的钥匙串访问->证书助理->从证书颁发机构请求证书。邮件地址填账号邮箱,选择存储到磁盘,点击下载。注意,必须填具有开发者权限的邮箱账号。

苹果开发者中心,用刚刚下载的文件申请Development证书,过程略。

双击申请好的证书进行安装,我们再打开钥匙串就能看到刚刚安装的证书了。注意,证书旁边一定要有个右箭头才表示成功。

打开终端,输入以下命令查看开发者id

shell 复制代码
kdoctor --team-ids

配置项目环境

点击下载项目模板,我们勾选Android和iOS。

下载后解压,用Android Studio 打开,等待加载完成。如果出现以下警告,代表没有加载成功。根据笔者的经验来看,这种一般是代理设置有问题,建议关闭所有代理软件,并且检查~/.gradle/gradle.properties文件,把所有代理相关的配置删除。

打开settings.gradle.kts可以看到有些部分有警告,可以不理睬,但如果想消除,可以在pluginManagement和dependencyResolutionManagement的上一行加上以下代码:

kotlin 复制代码
@Suppress("UnstableApiUsage")

同步完成之后,打开iosApp/Configuration/Config.xcconfig,在第一行TEAM_ID后面加上前面通过kdoctor看到的id。

运行程序

前面都搞定之后就可以尝试运行程序了,Android Studio已经帮我们配置好了,在右上角选择要运行的平台,要在Android中运行就选择composeApp,要在iOS中运行就选择iosApp。默认情况下,要在Android中运行需要一台Android物理机,进入调试模式并且连接Macbook,这里笔者推荐使用无线调试模式。而在iOS中运行,可以直接以虚拟机的方式启动。

相关推荐
aramae7 分钟前
模拟实现memset()(C语言)
c语言·开发语言·后端
传奇开心果编程28 分钟前
【Jetpack Compose基础语法学与练】第7课 if条件渲染 + 列表基础(LazyColumn)
学习·ui·kotlin·android jetpack
wuyk55540 分钟前
【Socket 进阶之路】第 7 章 IO 多路复用 select & poll 完整实战|多 fd 监听、超时等待、优缺点横向对比
服务器·开发语言·网络·数据库·物联网
ai2work40 分钟前
ch12 系统能力接入:TTS、剪贴板、分享、文件选择器
kotlin
终端安全笔记1 小时前
描述文件、企业证书、MDM 不是三个名字,是三层
android·ios·智能手机
船厂电气自动化ai大模型1 小时前
AI大模型与数学|第81天 课程:正交向量、正交基、格拉姆‑施密特(Gram‑Schmidt)正交化
开发语言·数据结构·人工智能·线性代数·机器学习
字节暗面1 小时前
一次游戏安全SO静态分析记录:腾讯ACE与FairGuard加固强度对比
android·逆向工程·游戏加固
lv__pf2 小时前
seata【实战 msb】
java·开发语言·后端
点纭2 小时前
C 语言 第七章 常用函数(3)
c语言·开发语言·算法·oracle·c#
传奇开心果编程2 小时前
【Jetpack Compose基础语法学与练】第9课 SideEffect副作用 + LaunchedEffect,处理异步任务和生命周期
android·学习·ui·kotlin·android jetpack