method 'boolean androidx.fragment.app.FragmentManagerImpl.isDestroyed()' on a null object reference

java.lang.NullPointerException: Attempt to invoke virtual method 'boolean androidx.fragment.app.FragmentManagerImpl.isDestroyed()' on a null object reference

迁移AndroidX后,如果引用androidx.fragment版本低于1.1.0-alpha08(该版本没问题,再低一些的版本没测试,最好使用最新版本),则会崩溃。

解决办法:

1 如果引用简单,直接更新引用库的版本号即可
implementation 'androidx.appcompat:appcompat:1.1.0-alpha05'

注:appcompat库中引用了androidx.fragment,所以如果appcompat新版本中更新了androidx.fragment就能解决问题。
如果不知道哪些第三方库引用了androidx.fragment,可以使用Android studio 自带task查询或者命令行查询dependencies,具体步骤可以自行百度或者google。

2 暴力强制使用设定的版本号: 和dependencies平级即可

configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'androidx.fragment') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '1.1.0-alpha08'
}
}
}
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容