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 代码缓存
中的错误
我有一个扩展方法:
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 代码缓存