Class DefaultSdkProvider.DefaultSdk

java.lang.Object
org.robolectric.pluginapi.Sdk
org.robolectric.plugins.DefaultSdkProvider.DefaultSdk
All Implemented Interfaces:
Comparable<Sdk>
Enclosing class:
DefaultSdkProvider

public class DefaultSdkProvider.DefaultSdk
extends Sdk
Represents an Android SDK stored at Maven Central.
  • Constructor Details

    • DefaultSdk

      public DefaultSdk​(int apiLevel, String androidVersion, String robolectricVersion, String codeName, int requiredJavaVersion)
  • Method Details

    • getAndroidVersion

      public String getAndroidVersion()
      Description copied from class: Sdk
      Returns the Android Version for this SDK.

      It should match the version reported by android.os.Build.VERSION.RELEASE provided within.

      If this is an expensive operation, the implementation should cache the return value.

      Specified by:
      getAndroidVersion in class Sdk
      See Also:
      Android build numbers
    • getAndroidCodeName

      public String getAndroidCodeName()
      Description copied from class: Sdk
      Returns the Android codename for this SDK.

      It should match the version reported by android.os.Build.VERSION.CODENAME provided within.

      If this is an expensive operation, the implementation should cache the return value.

      Specified by:
      getAndroidCodeName in class Sdk
    • getJarPath

      public Path getJarPath()
      Description copied from class: Sdk
      Returns the path to jar for this SDK.
      Specified by:
      getJarPath in class Sdk
    • isSupported

      public boolean isSupported()
      Description copied from class: Sdk
      Determines if this SDK is supported in the running Robolectric environment. An SDK might be unsupported if e.g. it requires a newer version of the JVM than is currently running. Unsupported SDKs should throw some explanatory exception when Sdk.getJarPath() is invoked. If this is an expensive operation, the implementation should cache the return value.
      Specified by:
      isSupported in class Sdk
    • getUnsupportedMessage

      public String getUnsupportedMessage()
      Description copied from class: Sdk
      Returns a human-readable message explaining why this SDK isn't supported. If this is an expensive operation, the implementation should cache the return value.
      Specified by:
      getUnsupportedMessage in class Sdk
    • verifySupportedSdk

      public void verifySupportedSdk​(String testClassName)
      Description copied from class: Sdk
      Verify that the SDK is supported.

      Implementations should throw an exception if SDK is unsupported. They can choose to either throw org.junit.AssumptionViolatedException to just skip execution of tests on the SDK, with a warning, or throw a RuntimeException to fail the test.

      Specified by:
      verifySupportedSdk in class Sdk