- 确认应用程序的目标SDK和编译SDK已更新到31,并查看Gradle文件中是否添加了以下依赖项:
implementation 'androidx.appcompat:appcompat:1.4.0'
implementation 'androidx.core:core-ktx:1.7.0'
- 检查应用程序代码,确认是否使用了已过时的API。如果使用了已过时的API,请更新为新的API。
- 确保应用程序权限清单文件中的权限已更新。
- 如果出现“java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull”,请检查所有的“@NonNull”注释,因为这些注释在Android SDK 31中被删除。对于这种情况,可以使用以下代码来解决问题:
@SuppressLint("RestrictedApi")
private fun foo(param: Any?) {
if (param == null) error("parameter is null") // or throw IllegalArgumentException("parameter is null")
...
}
- 如果出现“java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation”,请检查应用程序中的所有活动,并确保它们仅规定全屏和不透明。在清单文件中指定以下属性:
android:theme="@style/AppTheme"
android:windowFullscreen="true"
- 如果使用了DataBinding,请注意更改以下属性:
android:text="@{viewModel.text}"
应为:
android:text="@{viewModel.text.value}"
- 如果使用了dagger-hilt注入,请升级到版本2.40。
如果问题仍然存在,请检查Logcat输出以获取更多信息,并更新SDK到最新版本。