当前位置: 首页 > news >正文

基于Kotlin Multiplatform实现静态文件服务器(一)

本文将介绍如何基于Kotlin Multiplatform、Jetpack Compose实现静态文件服务器,并运行在Android、Windows以及Linux(暂不支持server和mac)。

创建KMP(Kotlin Multiplatform)项目

环境设置
  1. 安装Android Studiio 2023.3.1以上版本, 之前版本需要自行安装KMP插件。

  2. 安装JDK 14以上版本,或使用Android Studio 自带jre环境,但缺少package.jar,无法打包。

推荐下载bellsoft的全量JDK,比较好用。下载地址:https://bell-sw.com/pages/downloads/。

     3. 安装Kotlin 1.9.0 插件。Android Studio自带,如需特殊版本,则需要自行安装或更新。

创建多平台应用

KMP 官方推荐使用多平台项目创建向导进行项目创建,KMP项目创建向导。

在向导页,先只选择Android 和 Desktop。点击Dowload。

打开Android Studio 后,打开已下载的KMP项目。

项目配置

首次导入项目后,gradle会同步依赖项,如同步出现错误 ,可按需修改gradle国内资源代理。在gradle/wrapper/gradle-wrapper.properties中,修改distributionUrl。

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.7-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

在settings.gradle.kts中,配置相关镜像地址。

pluginManagement {repositories {maven { url = uri("https://mirrors.ustc.edu.cn/maven-central") }maven { url = uri("https://maven.aliyun.com/repository/google") }maven { url = uri("https://maven.aliyun.com/repository/public") }maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin") }google {...}mavenCentral()gradlePluginPortal()maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")maven("https://maven.pkg.jetbrains.space/kotlin/p/wasm/experimental")maven( "https://androidx.dev/storage/compose-compiler/repository")maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev")maven("https://central.maven.org/maven2/") // for netty}
}

运行多平台应用程序

在Android设备上运行
  1. 创建一个Android虚拟机或连接Android手机,并开启开发者选项,开启USB调试并授权电脑调试(Android 14以上的设备,可以通过局域网进行调试)。

  2. 在运行配置列表中,选择composeApp。

  3. 选择 Android 虚拟机或已连接的可调式手机,然后单击运行,编译完成后,将在所选设备上运行该应用程序。

  4. 启动后显示如下:

 在桌面上运行

在桌面上运行,需要手动设置运行配置或执行gradle命令。

  1. 点击Android Studio 右侧的Gradle图标

  2. 点击执行Gradle命令图标。

  3. 键入运行桌面应用程序的命令后按回车开始编译。

desktopRun -DmainClass=MainKt --quiet

     4. 编译完成后会自动运行。

 如需运行其他平台,如Web、Server等,请参考创建您的多平台项目。


http://www.mrgr.cn/news/2727.html

相关文章:

  • 如何优化马丁格尔交易策略?Anzo Capital 昂首资本官网学会一种策略
  • linux中Systemd Unit文件编写
  • 十九、中介者模式
  • 前端面试——父子组件传值
  • jenkins 实现二级联动选择参数
  • 【GitLab】使用 Docker engine安装 GitLab 2: gitlab-ce:17.3.0-ce.0 拉取
  • 【单例模式(饿汉式和懒汉式)】
  • 趋势分享|Gartner解读中国企业容器管理新挑战:混合环境、容器安全、AI支持
  • Tiktok和Facebook广告哪个效果更好?
  • datax关于postsql数据增量迁移的问题
  • 华为od(D卷) 用连续自然数之和来表达整数
  • python 速成指南
  • RV1126交叉编译OPENCV的各种坑
  • 移动端页面出现闪屏
  • (八)Flink Join 连接
  • 五、SPA 单页面、MPA多页面的理解?它们的优缺点分别是什么?
  • Vue50 todolist自定义事件版本
  • 如何用ChatGPT 4.0创作高质量的小红书笔记?
  • 秋招力扣Hot100刷题总结——动态规划
  • HanLP分词的使用与注意事项