[英]Fatal Exception: java.lang.NoSuchMethodError
I am dealing with that problem:我正在处理这个问题:
Fatal Exception: java.lang.NoSuchMethodError
No virtual method getActiveNetwork()Landroid/net/Network; in class Landroid/net/ConnectivityManager; or its super classes (declaration of 'android.net.ConnectivityManager' appears in /system/framework/framework.jar:classes2.dex)
There is my code:有我的代码:
public boolean isNetworkAvailable() {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager != null) {
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
NetworkCapabilities capabilities = connectivityManager.getNetworkCapabilities(connectivityManager.getActiveNetwork());
if (capabilities != null) {
if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) {
return true;
} else if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) {
return true;
} else if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET)) {
return true;
}
}
}
}
return false;}
there is the stacktrace:有堆栈跟踪:
Fatal Exception: java.lang.NoSuchMethodError: No virtual method getActiveNetwork()Landroid/net/Network; in class Landroid/net/ConnectivityManager; or its super classes (declaration of 'android.net.ConnectivityManager' appears in /system/framework/framework.jar:classes2.dex)
at com.olgazelenko.esofer.MainMenu.isNetworkAvailable(MainMenu.java:307)
at com.olgazelenko.esofer.MainMenu.onCreate(MainMenu.java:75)
at android.app.Activity.performCreate(Activity.java:6178)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2648)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2769)
at android.app.ActivityThread.access$900(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1430)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5910)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)
does someone know how that can be fixed?有人知道如何解决吗?
This Error occurs often when you have compiled with one version of your dependency but are running the code with a different version.当您使用一个版本的依赖项进行编译但正在使用不同版本运行代码时,经常会发生此错误。
Here, it looks that com.olgazelenko.esofer.MainMenu.isNetworkAvailable(MainMenu.java:307)
calls a method from android which is not found during your execution.在这里,看起来
com.olgazelenko.esofer.MainMenu.isNetworkAvailable(MainMenu.java:307)
从 android 调用了一个在您执行期间未找到的方法。
This method, getActiveNetwork, seemed to be added in Android SDK API Level 23. You maybe try to use it in a older version.这个方法getActiveNetwork似乎是在Android SDK API Level 23中添加的。你可能会尝试在旧版本中使用它。 see https://developer.android.com/reference/android/net/ConnectivityManager#getActiveNetwork() .
请参阅https://developer.android.com/reference/android/net/ConnectivityManager#getActiveNetwork() 。 Try to upgrade your minSdkVersion : https://developer.android.com/guide/topics/manifest/uses-sdk-element
尝试升级您的 minSdkVersion : https : //developer.android.com/guide/topics/manifest/uses-sdk-element
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.