Robolectric - Paket targetSdkVersion = 30> maxSdkVersion = 29

Sep 04 2020

Hata:

java.lang.IllegalArgumentException: yapılandırılamadı: Paket targetSdkVersion = 30> maxSdkVersion = 29

org.robolectric.RobolectricTestRunner.getChildren (RobolectricTestRunner.java:247) at org.junit.runners.ParentRunner.getFilteredChildren (ParentRunner.java:534), org.junit.runners.ParentRunner.getDescription adresinde androidx.test.ext.junit.runners.AndroidJUnit4.getDescription (AndroidJUnit4.java:149), org.junit.runners.model.RunnerBuilder.configureRunner'da (RunnerBuilder.java:81) org.junit.runners.model.RunnerBuilder'da. safeRunnerForClass (RunnerBuilder.java:72), org.junit.internal.builders.AllDefaultPossilitiesBuilder.runnerForClass'da (AllDefaultPossilitiesBuilder.java:37) org.junit.runners.model.RunnerBuilder.safeRunnerFor.java70:70 at RunnerBuilder.safeRunnerFor.java (RunnerBuilder.safeRunnerFor.java70) adresinde .internal.requests.ClassRequest.createRunner (ClassRequest.java:28), org.junit.internal.requests.MemoizingRequest.getRunner adresinde (MemoizingRequest.java:19) com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs (JUnit4IdeaTestRunner.java:50) com.intellij.rt.junit.IdeaTestRunner $ Repeater.startRunnerWithArgs (IdeaTestRunner.java:33) java: 220) com.intellij.rt.junit.JUnitStarter.main adresinde (JUnitStarter.java:53) Neden olduğu: java.lang.IllegalArgumentException: Paket targetSdkVersion = 30> maxSdkVersion = 29, org.robolectric.plugins.DefaultSdkPicker.configured adresinde (DefaultSdkPicker.java:118) org.robolectric.plugins.DefaultSdkPicker.selectSdks (DefaultSdkPicker.java:69) at org.robolectric.RobolectricTestRunner.getChildren (RobolectricTestRunner.java:213) ... 13 daha fazla33) com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart (JUnitStarter.java:220) at com.intellij.rt.junit.JUnitStarter.main (JUnitStarter.java:53) Neden olduğu: java.lang.IllegalArgumentException: Package targetSdkVersion = 30> maxSdkVersion = 29, org.robolectric.plugins.DefaultSdkPicker.configuredSdks'de (DefaultSdkPicker.java:118) org.robolectric.plugins.DefaultSdkPicker.selectSdks'de (DefaultSdkPicker.javactren.Robolectrenctrenctric.robolectricner. RobolectricTestRunner.java:213) ... 13 daha fazla33) com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart (JUnitStarter.java:220) at com.intellij.rt.junit.JUnitStarter.main (JUnitStarter.java:53) Neden olduğu: java.lang.IllegalArgumentException: Package targetSdkVersion = 30> maxSdkVersion = 29, org.robolectric.plugins.DefaultSdkPicker.configuredSdks'de (DefaultSdkPicker.java:118) org.robolectric.plugins.DefaultSdkPicker.selectSdks'de (DefaultSdkPicker.javactren. RobolectricTestRunner.java:213) ... 13 daha fazlarobolectric.plugins.DefaultSdkPicker.selectSdks (DefaultSdkPicker.java:69) at org.robolectric.RobolectricTestRunner.getChildren (RobolectricTestRunner.java:213) ... 13 daha fazlarobolectric.plugins.DefaultSdkPicker.selectSdks (DefaultSdkPicker.java:69) at org.robolectric.RobolectricTestRunner.getChildren (RobolectricTestRunner.java:213) ... 13 daha fazla

Bu sorunu nasıl çözebilirim?

Yanıtlar

13 Abhimanyu Sep 04 2020 at 14:58

Bu gönderiyi aynı sorunla, farklı bir hata mesajıyla buldum.
Bu cevap sorunu çözmeme yardımcı oldu.

Aynısını burada yayınlamak.

Aşağıdaki satırla dizinin robolectric.propertiesiçinde bir dosya oluşturun app/src/test/resources:

sdk=29  

Bu, Robolectric'i 30 yerine API 29 kullanmaya zorlayacaktır.

Not: Robolectric şu anda 29'a kadar SDK'yı desteklemektedir (4 Eylül 2020'de olduğu gibi).

6 Mahdi-Malv Oct 29 2020 at 05:23

ConfigEk açıklama kullanarak test hedefi SDK'nızı da sınırlayabilirsiniz . Bu, farklı testler için farklı yapılandırmaları dikkate almanıza veya fazladan yapılandırma dosyaları oluşturmaktan kaçınmanıza neden olur.

@Config(sdk = [29])
class Test {
 // ...
}