将targetSdkVersion更新为30后,robolectric失败

问题描述

在将Android 11的targetSdkVersion升级为30之后,用Robolectric进行的测试不再起作用。

我在robolectric.properties中添加了app/src/test/resources文件 文字为sdk=28的文本,强制其与SDK 28一起运行,但出现此错误

java.lang.VerifyError: Expecting a stackmap frame at branch target 123
Exception Details:
  Location:
    com/samsung/android/sdk/accessory/RegisterUponInstallReceiver.onReceive(Landroid/content/Context;Landroid/content/Intent;)V @1: ifnull
  Reason:
    Expected stackmap frame at this location.
  Bytecode:
    0x0000000: 2cc6 007a 2cb6 0016 c600 732c b600 1612
    0x0000010: 05b6 0020 9900 67b2 0012 bb00 1159 1201
    0x0000020: b700 212b b600 15b6 0023 b600 24b8 0017
    0x0000030: 57bb 000f 2bb7 001f a700 1b4d b200 12bb
    0x0000040: 0011 5912 03b7 0021 2cb6 0022 b600 24b8
    0x0000050: 0018 572a b600 194d bb00 0e59 2bb6 0014
    0x0000060: b700 1c59 4cb6 001d 4ebb 000c 5912 022d
    0x0000070: 2cb7 001a b600 1b2b b600 1eb1          
  Exception Handler Table:
    bci [49,56] => handler: 59


    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
    at java.lang.Class.getConstructor0(Class.java:3075)
    at java.lang.Class.getDeclaredConstructor(Class.java:2178)
    at org.robolectric.util.ReflectionHelpers.callConstructor(ReflectionHelpers.java:377)
    at org.robolectric.internal.bytecode.ShadowImpl.newInstanceOf(ShadowImpl.java:18)
    at org.robolectric.shadow.api.Shadow.newInstanceOf(Shadow.java:35)
    at org.robolectric.android.internal.AndroidEnvironment.registerBroadcastReceivers(AndroidEnvironment.java:491)
    at org.robolectric.android.internal.AndroidEnvironment.installAndCreateApplication(AndroidEnvironment.java:242)
    at org.robolectric.android.internal.AndroidEnvironment.setUpApplicationState(AndroidEnvironment.java:149)
    at org.robolectric.RobolectricTestRunner.beforeTest(RobolectricTestRunner.java:298)
    at org.robolectric.internal.SandboxTestRunner$2.lambda$evaluate$0(SandboxTestRunner.java:247)
    at org.robolectric.internal.bytecode.Sandbox.lambda$runOnMainThread$0(Sandbox.java:89)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

具有机器人版本4.2.14.3

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...