gpt4 book ai didi

android - Robolectric 不支持 API 级别 28

转载 作者:可可西里 更新时间:2023-11-01 18:59:24 25 4
gpt4 key购买 nike

虽然这个问题已经在其他线程的以前版本中得到了回答,但现在所有的答案似乎都不适用于我的 api 28,所以..

所有 Robolectric 测试在 api 27 上运行良好。现在,当我的应用程序 api 目标为 28 时,它们都失败了。

我有

@Config(constants = BuildConfig::class, sdk = [Build.VERSION_CODES.P])

在我的测试课上。

深入研究 Robolectrics 内部 SdkConfig.java,看起来他们添加了对 api 28 的支持:

addSdk(Build.VERSION_CODES.P, "P", "4651975", "P");

但是在调试器中评估该行代码时,Build.VERSION_CODES.P 评估为 10000。不确定那里发生了什么。

我正在运行 Robolectric 3.8,也尝试过 4.0 alpha 版本,但没有成功。

我错过了什么?

编辑:现在我只是在最新的(据我所知)支持的 api 版本上运行,通过使用 @Config(sdk = [构建.VERSION_CODES.O_MR1])。这将为您提供 Android 8.1.0 (api 27)。

最佳答案

要完成 Algar 的回答,您可以通过像这样注释您的测试类来暂时绕过此错误(同时 Robolectric 修复此 issue):

@RunWith(RobolectricTestRunner::class)
@Config(sdk = [Build.VERSION_CODES.O_MR1])
class YourUnitTests {

...

}

它将强制 Robolectric 使用 Android API 27。

关于android - Robolectric 不支持 API 级别 28,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50870425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com