Merge "[GH] Fix issue caused by custom classloader." into androidx-master-dev
diff --git a/room/runtime/src/main/java/androidx/room/Room.java b/room/runtime/src/main/java/androidx/room/Room.java
index cadf56c..6a570c4 100644
--- a/room/runtime/src/main/java/androidx/room/Room.java
+++ b/room/runtime/src/main/java/androidx/room/Room.java
@@ -85,9 +85,12 @@
//noinspection TryWithIdenticalCatches
try {
+ final String fullClassName = fullPackage.isEmpty()
+ ? implName
+ : fullPackage + "." + implName;
@SuppressWarnings("unchecked")
final Class<T> aClass = (Class<T>) Class.forName(
- fullPackage.isEmpty() ? implName : fullPackage + "." + implName);
+ fullClassName, true, klass.getClassLoader());
return aClass.newInstance();
} catch (ClassNotFoundException e) {
throw new RuntimeException("cannot find implementation for "