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'
}
}
}
}