Merge "Include /apex/com.android.runtime for native library in app classloader"
This commit is contained in:
@@ -850,8 +850,9 @@ public final class LoadedApk {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// /vendor/lib, /odm/lib and /product/lib are added to the native lib search
|
// /aepx/com.android.runtime/lib, /vendor/lib, /odm/lib and /product/lib
|
||||||
// paths of the classloader. Note that this is done AFTER the classloader is
|
// are added to the native lib search paths of the classloader.
|
||||||
|
// Note that this is done AFTER the classloader is
|
||||||
// created by ApplicationLoaders.getDefault().getClassLoader(...). The
|
// created by ApplicationLoaders.getDefault().getClassLoader(...). The
|
||||||
// reason is because if we have added the paths when creating the classloader
|
// reason is because if we have added the paths when creating the classloader
|
||||||
// above, the paths are also added to the search path of the linker namespace
|
// above, the paths are also added to the search path of the linker namespace
|
||||||
@@ -868,8 +869,11 @@ public final class LoadedApk {
|
|||||||
// System.loadLibrary(). In order to prevent the problem, we explicitly
|
// System.loadLibrary(). In order to prevent the problem, we explicitly
|
||||||
// add the paths only to the classloader, and not to the native loader
|
// add the paths only to the classloader, and not to the native loader
|
||||||
// (linker namespace).
|
// (linker namespace).
|
||||||
List<String> extraLibPaths = new ArrayList<>(3);
|
List<String> extraLibPaths = new ArrayList<>(4);
|
||||||
String abiSuffix = VMRuntime.getRuntime().is64Bit() ? "64" : "";
|
String abiSuffix = VMRuntime.getRuntime().is64Bit() ? "64" : "";
|
||||||
|
if (!defaultSearchPaths.contains("/apex/com.android.runtime/lib")) {
|
||||||
|
extraLibPaths.add("/apex/com.android.runtime/lib" + abiSuffix);
|
||||||
|
}
|
||||||
if (!defaultSearchPaths.contains("/vendor/lib")) {
|
if (!defaultSearchPaths.contains("/vendor/lib")) {
|
||||||
extraLibPaths.add("/vendor/lib" + abiSuffix);
|
extraLibPaths.add("/vendor/lib" + abiSuffix);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user