我是Kotlin跨平台新手,并尝试建立一个包含三个独立子项目的跨平台项目: core (跨平台库)后端(JVM应用程序)和 mobile (目前仅适用于Android应用)。
我遵循了Kotlin文档,它分别展示了多平台库和具有通用代码的Android / iOS移动应用。
我正在努力配置下面列出的示例项目布局:
fun inputStreamToFile(uri: Uri){
val inputStream = contentResolver.openInputStream(uri)
inputStream.use {
val directory = getDir("test", Context.MODE_PRIVATE)
val file = File(directory, "correct.txt")
val output = FileOutputStream(file)
output.use {
val buffer = ByteArray(4 * 1024) // or other buffer size
var read: Int = inputStream?.read(buffer) ?: -1
while (read != -1) {
output.write(buffer, 0, read)
read = inputStream?.read(buffer) ?: -1
}
output.flush()
}
}
}
据我了解,Android通用代码应位于.
├── settings.gradle
├── build.gradle
├── core
│ ├── build.gradle
│ └── src
│ ├── commonMain
│ ├── commonTest
│ ├── jvmMain
│ └── jvmTest
├── backend
│ ├── build.gradle
│ └── src
│ ├── commonMain
│ ├── commonTest
│ ├── jvmMain
│ ├── jvmTest
│ └── main
└── mobile
├── build.gradle
└── app
├── build.gradle
└── src
├── ???
项目中,而core
项目应依赖它。
我正在使用最新的Gradle 5.3(仍在Groovy DSL上)和Kotlin 1.3.30-eap-45,但无法找到如何在当前布局中配置Android部件。
即使我必须退出最新版本或更改项目布局,只要我可以将核心库开发与依赖于它的项目分开进行,我都会为任何解决方案感到高兴。