0

使用 PlayCoreKtx 版本 1.8.1,

我有一个仪器测试来测试 Play Core 的 inAppUpdate 功能。我的测试中有一个看起来像这样的函数

private fun processAvailableUpdate(appUpdateType: AppUpdateType) = mainActivityScenario.onActivity { mainActivity ->
    AppUpdater.processAvailableUpdate(
        mainActivity,
        AppUpdateResult.Available(
            fakeAppUpdateManager,
            Tasks.await(fakeAppUpdateManager.appUpdateInfo)
        ), appUpdateType
    )
}

我在线上遇到以下异常

Tasks.await(fakeAppUpdateManager.appUpdateInfo)

java.lang.IllegalArgumentException:定位 S+(版本 31 及更高版本)要求在创建 PendingIntent 时指定 FLAG_IMMUTABLE 或 FLAG_MUTABLE 之一。

我认为在 PlayCore 库中修复它之前不会解决这个问题?除非我错过了什么。

谢谢您的帮助

4

1 回答 1

0

原来问题已解决

com.google.android.play:core:1.10.3

如果你只有

com.google.android.play:core-ktx:1.8.1

在您的依赖项中,然后您遇到此错误。因此,请确保将这两个依赖项都添加到您的 gradle 文件中。

于 2022-03-04T16:11:21.537 回答