Package org.robolectric.simulator
Class SimulatorClassLoader
java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
org.robolectric.internal.bytecode.SandboxClassLoader
org.robolectric.internal.AndroidSandbox.SdkSandboxClassLoader
org.robolectric.simulator.SimulatorClassLoader
- All Implemented Interfaces:
Closeable
,AutoCloseable
@AutoService(SdkSandboxClassLoader.class)
public class SimulatorClassLoader
extends AndroidSandbox.SdkSandboxClassLoader
An override of
AndroidSandbox.SdkSandboxClassLoader
that supports extra local Jars in the
classpath.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Encapsulates a collection of Jar files. -
Constructor Summary
ConstructorsConstructorDescriptionSimulatorClassLoader
(InstrumentationConfiguration config, Sdk runtimeSdk, ClassInstrumentor classInstrumentor, SimulatorClassLoader.JarCollection jarCollection) -
Method Summary
Modifier and TypeMethodDescriptionfindResources
(String name) This override is required to support ServiceLoader plugins in the extra jars passed into the simulator.protected byte[]
getByteCode
(String className) Methods inherited from class org.robolectric.internal.bytecode.SandboxClassLoader
close, getResource, loadClass, maybeInstrumentClass
Methods inherited from class java.net.URLClassLoader
addURL, definePackage, findClass, findResource, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance
Methods inherited from class java.security.SecureClassLoader
defineClass, defineClass
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
Constructor Details
-
SimulatorClassLoader
public SimulatorClassLoader(InstrumentationConfiguration config, @Named("runtimeSdk") Sdk runtimeSdk, ClassInstrumentor classInstrumentor, SimulatorClassLoader.JarCollection jarCollection)
-
-
Method Details
-
getByteCode
- Overrides:
getByteCode
in classSandboxClassLoader
- Throws:
ClassNotFoundException
-
findResources
This override is required to support ServiceLoader plugins in the extra jars passed into the simulator. It looks for all service-related metadata in META-INF/services/... in the extra jars before falling back to the superclass implementation.- Overrides:
findResources
in classURLClassLoader
- Throws:
IOException
-