【发布时间】:2016-12-16 11:50:40
【问题描述】:
甚至可以使用 Kotlin 编写库吗?
我看到的问题是它将取决于 kotlin-stdlib 和 kotlin-runtime 的特定版本,并强制库的用户使用相同的版本。
我正在考虑使用jarjar 重新打包它们,但是,如何将它们包含在 fatjar 类型的发行版中?在解压后的 aar 中,我看到了 /libs 目录 - 有没有办法使用它?
【问题讨论】:
-
查看here 以更好地了解 gradle 如何构建应用程序。同样描述了类路径上的插件。我建议不要在分发库时构建
fatJar,这会导致版本问题。 -
Android 兵工厂中有基于 Kotlin 的库,所以想必是有可能的。我个人没怎么玩过 Kotlin,所以我不知道他们是怎么做的。但除非
kotlin-stdlib和kotlin-runtime非常小,否则如果嵌入它们,您的库可能会变得相当大。 AAR 中的libs/用于本机库(.so文件)IIRC。 -
感谢您的 cmets!看起来现有的库只包含依赖项:
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion" -
@R.Zagórski:我理解您的建议,这就是我正在考虑更改包名称的原因。
-
@atok :你为什么不写你的评论作为答案。有用。会有帮助的