致命异常:java.lang.NoSuchMethodError

致命异常:java.lang.NoSuchMethodError,java,android,Java,Android,我正在处理这个问题: 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/fra

我正在处理这个问题:

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)
这是我的代码:

 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;}
这是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)

有人知道如何解决这个问题吗?

当您使用依赖项的一个版本编译代码,但使用不同的版本运行代码时,经常会发生此错误

这里,看起来
com.olgazelenko.esofer.MainMenu.isNetworkAvailable(MainMenu.java:307)
从android调用了一个在执行过程中找不到的方法


这个方法,getActiveNetwork,似乎是在Android SDK API级别23中添加的。你可以尝试在旧版本中使用它。看见尝试升级您的minSdkVersion:

请添加完整的堆栈跟踪。检查:请将其包含在您的问题中,而不是任何网站上。此外,这不是完整的堆栈跟踪。好的,现在检查一下,所以基本上我必须将minSkVersion升级到23?我现在在22号,很好,明白了。。我希望在我对我发布的应用程序进行更新后,它会起作用。。。谢谢,伙计,回答被接受了!