java.lang.NoSuchMethodError: No static method 'myMethod'

java.lang.NoSuchMethodError: No static method 'myMethod'

我有一个扩展方法:

fun StoresClientFragment?.onClickButtonBack(){
   this?.listener?.onStoresFragmentClickBtnMenu()
}

应用程序安装没有任何错误;但是当在运行时调用该方法时,它会给我以下错误:

java.lang.NoSuchMethodError: No static method onClickButtonBack (Lcom/app/common_client/ui/fragment /stores/StoresClientFragment;) V in class Lcom/app/common_client/commons/CommonsAppTypeGroupKt; or its super classes (declaration of 'com.app.common_client.commons.CommonsAppTypeGroupKt' appears in /data/app/com.myapp.client-DWp0y3iNC3tsmBZkowlpfw==/base.apk!classes2.dex).

我启用了 multidex

在build.gradle

android {
    defaultConfig {
        multiDexEnabled = true
    }
}

dependencies {
   implementation 'androidx.multidex:multidex:2.0.1'
}

申请中class

class ApplicationClient : MultiDexApplication(){
}

在清单中

<application
        android:name=".commons.application.ApplicationClient"

注意:我正在使用产品风味和模块,该方法在一些产品风味共享的 src 中

sourceSets {
         flavorA {
             java.srcDirs + = "src/sharedFolder/java" //here is 'onClickButtonBack' method
         }
         flavorB {
             java.srcDirs + = "src/sharedFolder/java"
         }
}

我已经解决了,但是我不知道为什么,我唯一做的就是更改方法所在文件的名称。

MyFile.kt 来自 MyNewFile.kt

fun StoresClientFragment? .onClickButtonBack () {
     this? .listener? .onStoresFragmentClickBtnMenu ()
}

希望对遇到同样事情的人有所帮助,也希望有知道为什么有效的分享一下,谢谢

Build -> Rebuild Project 帮助了我。这似乎是 Android Studio 代码缓存

中的错误