【发布时间】:2018-08-01 16:44:33
【问题描述】:
Kotlin 的主要“卖点”之一似乎是它能够编译为 JVM 或 Android 以及 Web 的 JavaScript。为了利用这一点,应该有一个代码库,其中一些文件在 Android 应用程序和浏览器 Web 应用程序之间共享。
但是,到目前为止,我几乎没有发现关于如何设置这样的东西的详细信息,特别是在使用 Android Studio 及其底层 Gradle 设置时,从运行 Android Studio New 开始项目向导。我不介意我是否只能在命令行上构建 Web 应用程序,但我想维护 Android Studio 提供的 Android 调试连接。到目前为止,我对 Gradle 及其使用的典型习语知之甚少。
我确信我不是第一个有这个想法的人,所以我想知道一些关于如何设置它的最佳实践。我想到的问题包括:
- 我是在一个构建文件中混合
kotlin2js和kotlin-android插件,还是需要多个构建文件(也许我应该说“模块”或“项目”,除非我不知道哪个)? - 如果我有多个构建文件,应该是两个(一个 Android 一个 Web)还是三个(一个用于共享内容)?
- 如果是两个构建文件,如何引用共享源?
- 如果是三个构建文件,我应该使用哪个插件来共享一个?
- 是否需要将我的源代码拆分到三个不同的源代码树上?是否有任何约定如何调用它们?
- 是否需要将我的类分成三组包,或者不同目标的代码可以共存于同一个包中?
- 我需要调整哪些配置设置才能让 IDE 了解我的项目布局?
除其他外,我已阅读以下相关文档:
【问题讨论】:
-
刚刚找到kotlinlang.org/docs/reference/multiplatform.html,这似乎是我问题的关键。在我把它写成我自己的答案之前,仍然需要尝试一下。
标签: javascript android android-studio gradle kotlin