Package com.facebook.soloader
Class UnpackingSoSource
- java.lang.Object
-
- com.facebook.soloader.SoSource
-
- com.facebook.soloader.DirectorySoSource
-
- com.facebook.soloader.UnpackingSoSource
-
- Direct Known Subclasses:
ExoSoSource,ExtractFromZipSoSource
public abstract class UnpackingSoSource extends DirectorySoSource
SoSourcethat extracts libraries from an APK to the filesystem.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classUnpackingSoSource.Dsostatic classUnpackingSoSource.DsoManifeststatic classUnpackingSoSource.InputDsoStream
-
Field Summary
-
Fields inherited from class com.facebook.soloader.DirectorySoSource
ON_LD_LIBRARY_PATH, RESOLVE_DEPENDENCIES
-
Fields inherited from class com.facebook.soloader.SoSource
LOAD_FLAG_ALLOW_IMPLICIT_PROVISION, LOAD_FLAG_ALLOW_SOURCE_CHANGE, LOAD_FLAG_MIN_CUSTOM_FLAG, LOAD_RESULT_CORRUPTED_LIB_FILE, LOAD_RESULT_IMPLICITLY_PROVIDED, LOAD_RESULT_LOADED, LOAD_RESULT_NOT_FOUND, PREPARE_FLAG_ALLOW_ASYNC_INIT, PREPARE_FLAG_DISABLE_FS_SYNC_JOB, PREPARE_FLAG_FORCE_REFRESH
-
-
Method Summary
Modifier and Type Method Description java.lang.StringgetLibraryPath(java.lang.String soName)Gets the full path of a library if it is found on this SoSource.java.lang.String[]getSoSourceAbis()Return an array of ABIs handled by this SoSource.static java.io.FilegetSoStorePath(android.content.Context context, java.lang.String name)intloadLibrary(java.lang.String soName, int loadFlags, android.os.StrictMode.ThreadPolicy threadPolicy)Load a shared library library into this process.voidsetSoSourceAbis(java.lang.String[] abis)-
Methods inherited from class com.facebook.soloader.DirectorySoSource
addToLdLibraryPath, getLibraryDependencies, toString, unpackLibrary
-
-
-
-
Method Detail
-
getSoStorePath
public static java.io.File getSoStorePath(android.content.Context context, java.lang.String name)
-
getSoSourceAbis
public java.lang.String[] getSoSourceAbis()
Description copied from class:SoSourceReturn an array of ABIs handled by this SoSource.- Overrides:
getSoSourceAbisin classSoSource- Returns:
- ABIs supported by this SoSource
-
setSoSourceAbis
public void setSoSourceAbis(java.lang.String[] abis)
-
getLibraryPath
@Nullable public java.lang.String getLibraryPath(java.lang.String soName) throws java.io.IOExceptionDescription copied from class:SoSourceGets the full path of a library if it is found on this SoSource.- Overrides:
getLibraryPathin classDirectorySoSource- Parameters:
soName- the full file name of the library- Returns:
- the full path of a library if it is found on this SoSource, null otherwise.
- Throws:
java.io.IOException- if there is an error calculatingsoFileName's canonical path
-
loadLibrary
public int loadLibrary(java.lang.String soName, int loadFlags, android.os.StrictMode.ThreadPolicy threadPolicy) throws java.io.IOExceptionDescription copied from class:SoSourceLoad a shared library library into this process. This routine is independent ofSoSource.loadLibrary(java.lang.String, int, android.os.StrictMode.ThreadPolicy).- Overrides:
loadLibraryin classDirectorySoSource- Parameters:
soName- Name of library to loadloadFlags- Zero or more of the LOAD_FLAG_XXX constants.threadPolicy- Strict Mode policy- Returns:
- One of the LOAD_RESULT_XXX constants.
- Throws:
java.io.IOException- IOException
-
-