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

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的实例就可以间接调用扩展函数了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章