在java代码中调用 System.loadLibrary(String fileName);
-> System.java - loadLibrary(String fileName);
-> Runtime.java - loadLibrary(String libName)
-> loadLibrary(String libName,ClassLoader loader);
ClassLoader通过调用VMStack.getCallingClassLoader() 得到,VMStack在package dalvik.system下 有hide标记,调用了package art.runtime.native 下的dalvik_system_VMStack.cc中的VMStack_getCallingClassLoader方法
-> doLoad(String name,ClassLoader loader);
-> nativeLoad(String fileName,Classloader loader,String ldLibraryPath);
ldLibraryPath 的获取调用 classLoader.getLdLibraryPath();具体实现在package dalvik.system的BaseDexClassLoader中getLdlibraryPath有hide标记,需要下载源码