首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在localMaven()上成功发布一个KMM库供android项目使用?

在localMaven()上成功发布一个KMM库供Android项目使用,需要按照以下步骤进行操作:

  1. 配置Kotlin Multiplatform Mobile (KMM)项目:创建一个KMM项目,并在项目的build.gradle文件中添加以下配置:
代码语言:txt
复制
plugins {
    id 'org.jetbrains.kotlin.multiplatform' version '1.5.31'
    id 'maven-publish'
}

kotlin {
    android()
    ios()
    // 其他平台配置

    sourceSets {
        // 配置共享代码的源文件目录
        commonMain {
            dependencies {
                // 添加KMM库的依赖
            }
        }
    }
}

// 配置Maven发布
publishing {
    repositories {
        maven {
            url = uri('../maven-repo') // Maven仓库的本地路径
        }
    }
    publications {
        maven(MavenPublication) {
            groupId = 'com.example' // 替换为你的组织ID
            artifactId = 'kmm-library' // 替换为你的库的名称
            version = '1.0.0' // 替换为你的库的版本号

            from(components.android)
        }
    }
}
  1. 执行发布命令:在项目根目录下执行以下命令,将KMM库发布到本地Maven仓库:
代码语言:txt
复制
./gradlew publishToMavenLocal
  1. 在Android项目中使用KMM库:在Android项目的build.gradle文件中添加以下配置:
代码语言:txt
复制
repositories {
    mavenLocal()
}

dependencies {
    implementation 'com.example:kmm-library:1.0.0' // 替换为你的库的组织ID、名称和版本号
}
  1. 同步项目:同步Android项目,使其能够使用刚发布的KMM库。

这样,你就成功在localMaven()上发布了一个KMM库供Android项目使用。请注意,以上步骤中的com.examplekmm-library1.0.0等信息需要根据实际情况进行替换。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

谷歌社区说|聊聊Compose跨平台与KMM

KMM早期推出来的时候,那个时候Compose Multiplatform还没有发布,所以大家都觉KMM很鸡肋,因为90%的开发者认为移动端的主要工作都在编写UI,跨平台不能跨UI叫做哪门子的跨平台...这样我们就实现了双平台一个简单的数据请求的例子。 社区对KMM的支持 目前官方许多都已经支持了跨平台,比如我们刚刚使用的网络请求框架Ktor、依赖注入Koin还有序列化组件等。...那么到这里呢,KMM我们就了解的差不多了,从上面的了解可以看出 其实KMM当前是可以使用在实际项目中的,不过我们可以再等等,Kotlin的RoadMap中说今年会发布正式版本,我们可以一起期待一下。...这里我基于刚刚创建的KMM项目,在KMM的基础添加Compose Multiplatform的配置。...中可以通过使用 UIKitView,在共享用户界面中嵌入复杂的特定于平台的小部件,地图、 Web 视图、媒体播放器和照相机等。

1.1K10
  • KotlinNative KMM项目架构

    KMM用纯Kotlin编写一次代码,即可在iOS和Android运行,开发应用的公共业务逻辑只需要编写一次。KMM减少了为不同平台编写和维护相同代码所花费的时间。...[KMM构建.png] 二、KMM项目架构 项目架构主要分为原生系统层、Android/iOS业务SDK层、KMM SDK层、KMM业务逻辑SDK层、iOS sdkframework层、Android/...这样就可以使用已有的SDK,后续也可以保持接口不变,直接使用KMM实现SDK,alog、PlatformMMKV。...KMM SDK层:alog、PlatformMMKV写成一个SDK可以供其他KMM模块(business)使用。...当然如果依赖了一些ktor网络,包也会变大,避免这个问题也可以不用依赖ktor,直接依赖现有的网络来实现一个KMM SDK。

    3.2K00

    别具特色的跨平台移动开发 - Kotlin Multiplatform Mobile

    在移动端开发中,一个显著的特征是: 不同端的业务逻辑是几乎完全一致的,只是它们的实现技术与载体不同而已 所以,KMM则基于上述这个思路,创新式的引入了另一种模式: 在保持原生开发的基础,使业务模块重用...KMM的实现思路是重用业务。 在Android中开发业务实现,KMM会将你的业务生成iOS类。你在iOS开发的时候,相当于依赖了一个,这个类提供了本身你业务的很多方法。...KMM官网:https://kotlinlang.org/lp/mobile/ myddd-kmm-scoffold示例项目发布 我一直在关注与调研移动开发的技术,对iOS的SwiftUI,Android...而KMM也是我关注的一个移动开发技术方向,因为它一方面重用了业务,另一方面又维持了原生开发,似乎是个挺不错的实现思路。 最近五一假期时,基于KMM做了一个可运行的示例项目。...这个项目主要是: • 最小化的示例及说明如何基于KMM进行开发 • 示例是一个最小骨架的尝试,包括APP的UI,从服务器获取数据,将数据存储到数据都包含在内 • 实现了Android与iOS两端的开发

    1.7K20

    Compose 跨平台现状

    从 compose-jb[2] 仓库来看,目前能复用的只有 Android 和 Desktop,想支持全跨平台的话,任务依然很艰巨,我们来看下简单的架构图: Android 与 Desktop 使用...❝这里面还有一个小细节,commonMain 明明依赖的是 jb-compose,Android 依赖的是 jetpack-compose,这两个参与打包的话,难道不会发生 duplicate class...来实现组件路由,但该组件 jb 并没有移植到 jb-compose 中,所以,无法在两个平台上实现复用,好在浏览 jb-compose 项目的 issue 时找到了一个可替代的方案 Decompose...项目有用到 AndResGuard[6] 等资源混淆的话,则这块代码将会报错,需要做 keep 处理。...如果项目有资源混淆需求的话, 建议直接定义获取图片的方法,: 3、多语言统一 多语言的实现与图片资源设置类似: 在运行 desktop 项目时遇到中文多语言乱码问题,解决办法是将项目编码改成 UTF

    3.4K30

    开源 | 携程机票跨端 Kotlin DSL 数据框架 SQLlin

    例如,在 Android 开发中,我们有 Android Framework SQLite Java API,但是开发者们通常会在项目使用 Jetpack Room 来操作数据。...2.2.2 Exposed Kotlin在正式发布时有一个主力卖点就是可以用来构建开发者自己的DSL。Exposed(参考链接 5)是当时官方宣传DSL的范例项目之一。...如果你准备从 0 打造一个 KMM app 或者你是某项目的基础架构团队的成员,我非常建议你尝试 SQLDelight。...KCP 不仅使用门槛高,而且官方尚未正式发布(这意味着它没有文档且后续 API 可能会发生大的破坏性变更),因此使用 KCP 仿造编写一个类似的功能也同样很难。...SQLlin 拥有全套的中英文文档以及 Sample 项目大家学习如何使用

    1.7K40

    Compose也能开发iOS了,快来体验~

    同时Kotlin也表示将在2023年发布KMM的稳定版本。 届时Compose-jb + KMM 将实现Kotlin全平台。...搭建项目 创建项目 因为目前Compose for iOS阶段还在试验阶段,所以我们无法使用Android Studio或者IDEA直接创建Compose支持iOS的项目,这里我们采用之前的方法,先使用...Android Studio创建一个KMM项目,如果你不知道如何创建一个KMM项目,可以参照之前的这篇文章KMM的初次尝试~ ,项目目录结构如下所示。...不过这是KMM的iOS项目,接下来我们看如何使用Compose编写iOS页面。...一个尴尬的问题 我一直认为存在一个比较尴尬的问题,那就是像上面实现一个完整的双端网络请求功能需要用到KMM + Compose-jb,但是KMM与Compose-jb并不是一个东西,但是用的时候呢基本都是一起用

    1.4K30

    KMM跨平台开发入门,看这一篇就够了~

    输入项目名称,选择对应的配置 在 iOS 框架分发列表中,选择常规框架选项 (这里为了简单演示,实际项目根据所需选择即可)。点击Finish就创建了一个KMM项目。...项目结构 创建完的KMM项目结构如下图所示。...支持多个目标的多平台,可以在公共源集 commonMain 中使用。例如 Koin、Apollo 和 Okio。 android和iOSMain, 这些是来自相关生态系统的常规。...可以使用 CocoaPods 或其他依赖项管理器的原生 iOS 项目使用 Gradle 的 Android 项目使用。...写在最后 到这里,恭喜你,已经入门了KMM使用,更多的使用方法需要在实际项目中不断地去总结,去尝试,Jetpack目前也在开发KMM版本,这对KMM发展将会是一个推进~

    4.5K20

    Android性能- RocketX

    二、效果展示 2.1、测试项目介绍 目标项目一共 3W+ 个类与资源文件,全量编译 4min 左右(测试使用 18 年 mbp 8代i7 16g) 通过 RocketX 全量增速之后的效果(每一个操作取...module做了修改 使用遍历整个项目的文件的 lastModifyTime 去做实现 已每一个 module 为一个粒度,递归遍历当前 module 的文件,把每个文件的 lastModifyTime...整合计算得出一个唯一标识 countTime 通过 countTime 与一次的作对比,相同说明没改动,不同则改动....不给 A 模块的话,A 使用 B 模块的接口不见了,会导致编译不过 给出整体项目替换的技术方案演示: 整体的实现在 DependenciesHelper.kt 这个类中,由于讲起来篇幅太长,有兴趣可查阅开源代码...解决:通过 childProject.configurations.maybeCreate("default").artifacts 找到所有添加进来的 aar ,单独发布 localmaven

    57230

    KMM 求生日记二:KotlinNative 被踩中的坑

    然后我在 Android 的主工程中编写这些桥接接口的实现,以及对 KMM 中业务逻辑的调用。...在 Android 完成基本的测试,能跑通之后,由我的一位同事(也是小组 leader)在 iOS 主工程中编写类似我在 Android 主工程中编写的代码(Objective-C)。...其实在 Android 基本没什么问题,因为本质就是用 Kotlin 写了些代码,打成 aar 给主工程调用而已,所以主要的问题还是出在 iOS(Kotlin/Native)。 一....对象的 API,通常的左右是来生成一个对象(和 Java 中使用 class 的方式相似),那么这样的 API 可能对 Kotlin 类不兼容。...结语 KMM 代码发布上线在即,如果它能在线上稳定跑一到两个版本(主要担心的就是 iOS 平台),就至少可以说明 Kotlin/Native 的编译器、 runtime 以及标准没有太大问题,当然

    2.6K10

    开源|携程机票 App KMM 跨端 KV 存储 MMKV-Kotlin

    但该 so 是针对 Android 平台的二进制程序,并不能在开发者常用的 Windows 或 Mac 电脑运行。...六、Maven Central 发布 Maven Central 可谓是 Android 与 Java 技术领域内分发项目的关键一环,开源作者除了要将代码开源到 Github 以外,通常还要将项目的构建产物发布至...使用 Gradle 进行发布的常见流程如下: 注册 sonatype JIRA 账号,登录后提交一个 issue 用于注册自己发布时会用到的 group id。...发布成功后,用户即可在 Gradle 以及 Maven 等构建工具中通过一行代码导入你的开源。 我相信这个过程对于有 Maven 发布经验的 Android 及 Java 开发者来说并不陌生。...上述 kts 代码添加到 gradle.build.kts 文件后,sync 项目,然后运行 publish Gradle task,即可完成发布

    1.8K20

    Hello World —— 使用 Kotlin 开发跨平台应用

    Kotlin Multiplatform Mobile (KMM) 是由 Jetbrains 提供的跨平台移动开发 SDK 。借助 Kotlin 的 跨平台能力,你可以使用一个工程为多个平台编译。...为 Android/iOS 应用程序的业务逻辑代码使用单一的代码,仅在需要的时候编写平台特定代码,例如实现原生的 UI,使用平台特定 API 等等。 KMM 可以和你的工程无缝集成。...共享代码,使用 Kotlin 编写,使用 Kotlin/JVM 编译成 JVM 字节码,使用 Kotlin/Native 编译成二进制,所以你可以和使用其他一般类一样使用 KMM 业务逻辑模块。...➡️ 一步一步构建 HELLO WORLD KMM 应用 在 Android Studio 安装 Kotlin Multiplatform Mobile 插件。...你已经完成了你的第一个 KMM app 。

    2K20

    Kotlin Multiplatform 实战记 | QCon

    Android 平台产物 aar,iOS 平台使用 Kotlin Native 编译,产物 framework 与平台无关的 common 逻辑可以跨更多的平台, Mac、Linux、Windows、...对于 KMM 工程来说,通过 Android Studio KMM 插件生成的结构是这样的: 如何扩展原生能力 先举一个最简单的例子,实现一个双端的 Log 工具。...引入一个三方,首先通过 pod 脚本写好和版本,接着执行 gradle sync,其中会执行两个关键的 task,第一个是 podGen,它会把我们需要依赖的通过 pod 拉到本地,生成一个壳工程...,然后会执行对应的 cinterop task,执行成功以后会生成上图里的 klib 文件,里面包含了导出的头文件函数(knm 文件),最后代码里 import 进来就可以直接使用了。...(Atomic) 3 Kotlin Multiplatform 在阿里巴巴的实践 1688 日志 我们在日志建设使用了 Kotlin 收拢双端逻辑。

    1.7K10

    说说最近官方公布的 Kotlin 的动态

    项目刚开始,自然需要稳扎稳打,做一个功能就是一个功能,因此可以说 1.4 及以前的所有版本的迭代计划都是按照这个思路展开的,功能啥时候做好啥时候,做不好就 delay。...KMM 插件 KMM 算是 Kotlin Team 为多平台这个重磅特性挖掘的一个重要的应用场景。 ?...KMM 运行在 iOS 的实际就是 Kotlin Native 的代码,通过 Kotlin MPP 与运行在 Android 的 Kotlin Jvm 代码来共享逻辑。...最近随着 Kotlin 1.4 发布推出的 KMM 插件也支持了在 Android Studio 直接运行 iOS 应用,启动 iOS 模拟器,甚至单步调试运行在 iOS 的 Kotlin Native...再稍微提一下,KMM 插件尽管支持了很多功能,但对于 iOS 工程却仍然不能有效支持,这主要体现在对于 Swift、Objective-C 的代码无法高亮、调试等问题上,如果需要编辑 SwiftUI 或者其他使用

    1.3K30

    再探Kotlin 跨平台——迁移Paging分页KMM

    如果之前项目已经使用了AndroiX的Paging,则可以在Android平台上无缝迁移。...如果你之前从未使用过Paging,可以参考许久之前我写的两篇相关文章: 在View中使用Paging3分页 在Compose中使用分页 接下来我们就以multiplatform-paging-samples...为例,来看如何实现在Multiplatform使用Paging。...也就是github主页的搜索功能。App运行截图如下所示。  这里我们搜索关键词为“MVI”,左侧输出为作者/项目名 右侧为start数量,且实现了分页功能。接着我们来看这个项目结构是怎么样的。...Android UI层实现 Android UI层的实现比较简单,定义了一个event用于事件分发 val events = MutableSharedFlow(extraBufferCapacity

    1.2K20

    【移动开发趋势】2022 年移动应用程序开发的主要趋势

    AR 眼镜的传言已经有一段时间了,有迹象表明,当它们真正发布时,它们可以重新定义可穿戴和个人计算。到目前为止,智能眼镜在很大程度上未能引起人们的广泛关注,并且一度成为一个可笑的怪人。...Kotlin 多平台移动 (KMM) Kotlin Multiplatform Mobile (KMM) 技术允许您编写一次代码,然后在 iOS 或 Android 等多个平台上使用此代码。...KMM 支持许多移动目标,包括 Android 应用程序和,以及 ARM32 和 ARM64 平台上的 Android NDK。...这个综合为开发人员提供了创建令人兴奋和创新的应用程序和功能所需的所有工具。 多平台功能 2022 年 React Native 可能增长的另一个领域是其多平台功能。...此外,Flutter for web 的另一个好处是可以在某个时候将移动设备中使用的所有组件移植到 Web 以供消费者使用。 随着品牌的成长,有一个扩大平台的潜在领域。

    2.9K20

    Android module发布管理插件

    主要是因为 IntelliJ IDEA 插件开发的资料极少,包括如何在插件中获取Android工程信息、如何执行gradle任务等等。 目前完成了一个版本,有待完善。...:1.0.6' 做个工具 因为以上问题,萌生了做一个傻瓜式发布工具的想法,具备以下几点: 使用简单。...-- 学习下java swing,学着使用IntelliJ自带的UI工具 如何对Android项目执行gradle命令。...--Tooling API 如何拿到android项目的详细信息(版本、依赖等等)。--这个费了一番劲 使用 如何编译打包及安装插件请查看项目README。...发布结果 发布成功 [发布成功] 发布失败 [发布失败] 日志 [日志] 不管成功或失败,都可以在右下角的 Event Log 查看运行日志。 其他 插件是我们工作的好伙伴,能够实现强大的功能。

    1.8K00

    Gradle 自定义插件

    在单独的项目里 你可以为你的插件创建一个项目,这个项目可以打包发布 JAR,提供给其他任何项目使用。...在单独的项目里创建插件 这次仍然是使用 Groovy 语言。 这里的插件项目其实就是一个 Groovy 项目,当然了你如果使用 Java 语言就是一个 Java 工程。 创建一个工程 ? ?...执行 maven-publish 的 publish 任务,将插件发布到指定仓库。 ? 发布成功后的仓库 ? 插件创建完成了,也发布了,下面就是使用这个插件了。...使用 java-gradle-plugin 开发插件 像上面一样创建一个项目,不过这次是一个 java 项目,然后应用这个插件。...为名字为 PubName 的的发布创建一个 POM 文件,填充已知的元数据,例如项目名称,项目版本和依赖项。

    2K20
    领券