Kotlin如何使用aar中的扩展函数

2021-09-01  本文已影响0人  钱晓缺

aar中的扩展函数不能直接在project中使用,是因为扩展函数的文件会被变成**kt.class文件。

举个例子:

Util.kt中有个扩展函数


fun String.getLength(): Int {//kotlin extension function

}

那么它就会被编译成UtilKt.class

如果是同一个project下,自然可以直接使用它的扩展函数,但是如果在aar中,你就无法引用了,而kotlin也无法直接使用class文件。

但是我们是清楚的,kotlin是可以直接使用JAVA,而JAVA又恰巧可以引用class文件。

所以我们可以写一个Java类


class Extension{

  public String getLength(string s){

    return UtilKt().getLength(s)

  }

}

然后在KT文件中使用我们的Extension的实例就可以间接调用扩展函数了。

上一篇下一篇

猜你喜欢

热点阅读