android - 如何在 localMaven() 上成功发布 KMM 库以供 android 项目使用?
问题描述
我正在尝试将我制作的 KMM 库与我的 Android 项目集成。到目前为止,我已经按照此处的步骤在本地成功发布了 KMM 库
但不幸的是,当尝试将其作为依赖项添加到我的 Android 项目中时,该项目无法构建:
Execution failed for task ':app:mergeDebugNativeLibs'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
> Could not find com.example.kmm:core-android:1.0.0-snapshot.1.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/com/example/kmm/core-android/1.0.0-snapshot.1/core-android-1.0.0-snapshot.1.pom
- https://repo.maven.apache.org/maven2/com/example/kmm/core-android/1.0.0-snapshot.1/core-android-1.0.0-snapshot.1.pom
Required by:
project :app
我已经添加mavenLocal()
到我的存储库
repositories {
google()
mavenCentral()
mavenLocal()
}
但仍然一无所获,有什么帮助吗?
注意:当尝试在另一个 KMM 项目或模块中使用库时,它会成功构建。
解决方案
默认情况下,不会发布任何 Android 库的工件。要发布工件,您需要在 gradle 文件中添加以下配置。
kotlin {
android {
publishLibraryVariants("release", "debug")
}
}
请在此处查看详细信息: https ://kotlinlang.org/docs/mpp-publish-lib.html#publish-an-android-library
推荐阅读
- c# - 在 WPF 中使用 WinForms ColorDialog 给出错误:“颜色”参数类型对于格式化属性“背景”无效
- java - Web 服务器如何处理 API 调用之间的请求锁定(等待和信号)?
- postgresql - 如果键不退出,则将行插入多个 id 的表中
- reactjs - “foo”不是使用 Jest 测试组件方法的函数
- java - java的SecureRandom类中getSeed()和generateSeed()函数的区别?
- javascript - 无法更改 Electron 中的默认 TTS 语音
- go - 将多个“参数”映射到单个可变参数的成语
- javascript - 如何在 VueJs 中显示我的 url 参数的详细信息?
- javascript - 如何修复else语句未激活
- javascript - 如何从 NodeJs http 代理读取响应正文