我有一个扩展方法:
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 ApplicationClient : MultiDexApplication(){
}
在清单中。
<application
android:name=".commons.application.ApplicationClient"
注意:我正在使用产品风味和模块,该方法位于某些产品风味共享的源代码中。
sourceSets {
flavorA {
java.srcDirs + = "src/sharedFolder/java" //here is 'onClickButtonBack' method
}
flavorB {
java.srcDirs + = "src/sharedFolder/java"
}
}