Process: com.tazan.cd.streetlight, PID: 18825 java.lang.NoSuchMethodError: No virtual method isStateSaved()Z in class Landroid/support/v4/app/FragmentManager; or its super classes (declaration of 'android.support.v4.app.FragmentManager' appears in /data/app/com.tazan.cd.streetlight-sc-sX-rNCVNlO4qWt3BQkw==/base.apk:classes20.dex) at pub.devrel.easypermissions.RationaleDialogFragmentCompat.showAllowingStateLoss(RationaleDialogFragmentCompat.java:48) at pub.devrel.easypermissions.helper.BaseSupportPermissionsHelper.showRequestPermissionRationale(BaseSupportPermissionsHelper.java:43) at pub.devrel.easypermissions.helper.PermissionHelper.requestPermissions(PermissionHelper.java:66) at pub.devrel.easypermissions.EasyPermissions.requestPermissions(EasyPermissions.java:148) at com.tazan.cd.streetlight.activity.MainActivity.requestCodeQRCodePermissions(MainActivity.java:615) at com.tazan.cd.streetlight.activity.MainActivity.onStart(MainActivity.java:553) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1339) at android.app.Activity.performStart(Activity.java:7392) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3157) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3302) at android.app.ActivityThread.-wrap12(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1891) at android.os.Handler.dispatchMessage(Handler.java:108) at android.os.Looper.loop(Looper.java:166) at android.app.ActivityThread.main(ActivityThread.java:7425) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)
錯誤大致如上:
問題是 isStateSaved是在support 26版本后加入的,可以 compileSdkVersion改為27,並且將easypermissions更新到最新版2.0.1
或在app的build.gradle里加入下面一段代碼統一android support庫為27版本
subprojects { afterEvaluate {project -> if (project.hasProperty("android")) { android { compileSdkVersion 27 buildToolsVersion '27.0.3' defaultConfig { targetSdkVersion 27 } } } } }