in java/com/facebook/soloader/SoLoader.java [445:466]
private static void AddSystemLibSoSource(ArrayList<SoSource> soSources, String[] denyList) {
String systemLibPaths =
SysUtil.is64Bit() ? "/system/lib64:/vendor/lib64" : "/system/lib:/vendor/lib";
String LD_LIBRARY_PATH = System.getenv("LD_LIBRARY_PATH");
if (LD_LIBRARY_PATH != null && !LD_LIBRARY_PATH.equals("")) {
systemLibPaths += ":" + LD_LIBRARY_PATH;
}
final Set<String> libPathSet = new HashSet<>(Arrays.asList(systemLibPaths.split(":")));
for (String libPath : libPathSet) {
// Don't pass DirectorySoSource.RESOLVE_DEPENDENCIES for directories we find on
// LD_LIBRARY_PATH: Bionic's dynamic linker is capable of correctly resolving dependencies
// these libraries have on each other, so doing that ourselves would be a waste.
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "adding system library source: " + libPath);
}
File systemSoDirectory = new File(libPath);
soSources.add(
new DirectorySoSource(systemSoDirectory, DirectorySoSource.ON_LD_LIBRARY_PATH, denyList));
}
}