我想为 android 创建一个包含一些顶级函数的 kotlin 库。
我创建了一个 android 库项目。
我添加了一些顶级函数和一些类
// filename TestMethodFirst.kt
fun testMethodFirst() {}
Run Code Online (Sandbox Code Playgroud)
// filename TestClass.kt
class TestClass() {}
Run Code Online (Sandbox Code Playgroud)
我已经使用 ./gradlew build 构建了库
我已将此库作为 aar 库包含到另一个项目中
库中的类已顺利解析并导入。顶级函数尚未解析,因此无法使用。我尝试过手动添加导入,但它也不起作用。当我尝试使用 java 中的顶级函数作为静态方法执行时,它就可以工作了。
这不起作用
// filename Test1.kt
fun test1() {
testMethodFirst()
}
Run Code Online (Sandbox Code Playgroud)
这有效
// filename Test2.kt
fun test1() {
TestClass()
}
Run Code Online (Sandbox Code Playgroud)
这有效
// filename Test3.java
class Test {
void test() {
TestMethodFirstKt.testMethodFirst();
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用 AS 4.1 Canary 7 和 AS 3.6.2
附件包含库项目和aar库
I\xe2\x80\x99m 尝试实现在排除所有内部对象的情况下从序列化中排除整个对象的功能。
\n例如当我想将此数据类序列化为 json 时
\ndata class Car(val engine: Engine? = null, val size: Size? = null)\ndata class Engine(val type: String? = null, val horsePower: Int? = null)\ndata class Size(val size: Int? = null)\n\nCar(engine = Engine(horsePower = null), size = Size(size = 1000))\nRun Code Online (Sandbox Code Playgroud)\n那么我应该得到以下输出(即使设置了引擎也被排除)
\ncar {\n size {\n size = 1000\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n有谁对如何实现这一目标有任何建议吗?
\n