title: Robolectric and Android SDK 29
body: <p>When will Robolectric be compatible with Android SDK 29? Did I upgraded too early by changing <code>targetSdkVersion</code> and <code>compileSdkVersion</code> to 29?</p>
  
  <p>When I run my unit tests I get this huge stacktrace:</p>
  
  <pre><code>java.lang.IllegalArgumentException: API level 29 is not available
  
      at org.robolectric.plugins.UnknownSdk.getJarPath(UnknownSdk.java:25)
      at
  org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.&lt;init&gt;(AndroidSandbox.java:102)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
  Method)     at
  sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
      at
  sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
      at org.robolectric.util.inject.Injector.inject(Injector.java:239)   at
  org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:221)
      at
  org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:485)
      at
  org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:213)
      at
  org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:283)
      at org.robolectric.util.inject.Injector.inject(Injector.java:237)   at
  org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:221)
      at
  org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:485)
      at
  org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:213)
      at
  org.robolectric.util.inject.Injector.getInstance(Injector.java:197)
      at org.robolectric.util.inject.Injector.access$700(Injector.java:85)
      at
  org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:551)
      at
  org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:534)
      at com.sun.proxy.$Proxy13.build(Unknown Source)     at
  org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:57)
      at
  org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:267)
      at
  org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:63)
      at
  org.robolectric.internal.SandboxTestRunner$2.evaluate(SandboxTestRunner.java:215)
      at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)    at
  org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
      at
  org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
      at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)  at
  org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)     at
  org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)   at
  org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)     at
  org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)    at
  org.robolectric.internal.SandboxTestRunner$1.evaluate(SandboxTestRunner.java:96)
      at org.junit.runners.ParentRunner.run(ParentRunner.java:363)    at
  org.junit.runner.JUnitCore.run(JUnitCore.java:137)  at
  org.junit.runner.JUnitCore.run(JUnitCore.java:115)  at
  org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:40)
      at
  java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
      at
  java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
      at java.util.Iterator.forEachRemaining(Iterator.java:116)   at
  java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
      at
  java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
      at
  java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
      at
  java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
      at
  java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
      at
  java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      at
  java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
      at
  org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
      at
  org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:71)
      at
  org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:229)
      at
  org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:197)
      at
  org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:211)
      at
  org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:191)
      at
  org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)
      at
  com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:74)
      at
  com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
      at
  com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
      at
  com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
  </code></pre>