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的實例就可以間接調用擴展函數了。

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