我不知道我怎么会能够导入我cinterop泰德库的科特林多平台构建的构建的gradle。
我已经创建了library.def
文件,并填写它,我也产生了library.klib
,并连同它的文件夹。 我只是不知道如何将其导入到gradle这个。
我看了遍布互联网,我发现到江南一个参考,我想知道,如果这件事情我必须使用,或者如果这是正在使用类似“cinterop”什么东西。
我看过了下面的链接,我还没有发现任何远程连接到.klib import
我的问题的一部分。
链接#1(kotlinlang.org)
链接#2(github.com)
链接3(plugins.gradle.org)
在一般情况下,你要使用多平台的插件。 如果你单独建立一个klib,你创造一些额外的步骤(可能)。 在链接#2它说,平台的插件已被弃用。 湖南是本机平台/编译器的名字。 有人支持,去年一个单独的插件,但你绝对不希望被使用。
我刚刚创建了一个例子,但它不是不失,所以这是最好的我有断手:
https://github.com/JetBrains/kotlin-native/blob/3329f74c27b683574ac181bc40e3836ceccce6c1/samples/tensorflow/build.gradle.kts#L12
我工作的一个公司的FireStore库。 本机和互操作的配置生活在多平台配置。
kotlin {
android {
publishAllLibraryVariants()
}
// iosArm64()
iosX64("ios"){
compilations["main"].cinterops {
firebasecore {
packageName 'cocoapods.FirebaseCore'
defFile = file("$projectDir/src/iosMain/c_interop/FirebaseCore.def")
includeDirs ("$projectDir/../iosApp/Pods/FirebaseCore/Firebase/Core/Public")
compilerOpts ("-F$projectDir/src/iosMain/c_interop/modules/FirebaseCore-${versions.firebaseCoreIos}")
}
firestore {
packageName 'cocoapods.FirebaseFirestore'
defFile = file("$projectDir/src/iosMain/c_interop/FirebaseFirestore.def")
includeDirs ("$projectDir/../iosApp/Pods/FirebaseFirestore/Firestore/Source/Public", "$projectDir/../iosApp/Pods/FirebaseCore/Firebase/Core/Public")
compilerOpts ("-F$projectDir/src/iosMain/c_interop/modules/FirebaseFirestore-${versions.firebaseFirestoreIos}")
}
}
}
}
该cinterops
设置在DEF文件,而params。 然后我发布整个事情作为一个多库。 实际的本地神器是klib最终,但是这一切都与gradle产出和依赖性的元数据管理。