Package com.facebook.soloader
Class DirectApkSoSource
java.lang.Object
com.facebook.soloader.SoSource
com.facebook.soloader.DirectApkSoSource
- All Implemented Interfaces:
RecoverableSoSource
SoSource that directly finds shared libraries in a APK. The native libraries must be page
aligned and stored uncompressed in the APK.- See Also:
-
Field Summary
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_IMPLICITLY_PROVIDED, LOAD_RESULT_LOADED, LOAD_RESULT_NOT_FOUND, PREPARE_FLAG_ALLOW_ASYNC_INIT, PREPARE_FLAG_DISABLE_FS_SYNC_JOB, PREPARE_FLAG_FORCE_REFRESH, PREPARE_FLAG_SKIP_BACKUP_SO_SOURCE -
Constructor Summary
ConstructorsConstructorDescriptionDirectApkSoSource(android.content.Context context) DirectApkSoSource(Set<String> directApkLdPaths) -
Method Summary
Modifier and TypeMethodDescriptiongetLibraryPath(String soName) Gets the full path of a library if it is found on this SoSource.getName()booleanisValid()intloadLibrary(String soName, int loadFlags, android.os.StrictMode.ThreadPolicy threadPolicy) Load a shared library library into this process.recover(android.content.Context context) toString()Return the class name of the actual instance.unpackLibrary(String soName) Ensure that a shared library exists on disk somewhere.Methods inherited from class com.facebook.soloader.SoSource
addToLdLibraryPath, getLibraryDependencies, getSoSourceAbis
-
Constructor Details
-
DirectApkSoSource
public DirectApkSoSource(android.content.Context context) -
DirectApkSoSource
-
-
Method Details
-
loadLibrary
public int loadLibrary(String soName, int loadFlags, android.os.StrictMode.ThreadPolicy threadPolicy) throws IOException Description 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).- Specified by:
loadLibraryin classSoSource- 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:
IOException- IOException
-
unpackLibrary
Description copied from class:SoSourceEnsure that a shared library exists on disk somewhere. This routine is independent ofSoSource.loadLibrary(java.lang.String, int, android.os.StrictMode.ThreadPolicy).- Specified by:
unpackLibraryin classSoSource- Parameters:
soName- Name of library to load- Returns:
- File if library found;
nullif not. - Throws:
IOException- IOException
-
isValid
public boolean isValid() -
getLibraryPath
Description copied from class:SoSourceGets the full path of a library if it is found on this SoSource.- Overrides:
getLibraryPathin classSoSource- 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:
IOException- if there is an error calculatingsoFileName's canonical path
-
getName
-
toString
Description copied from class:SoSourceReturn the class name of the actual instance. Useful for debugging. -
recover
- Specified by:
recoverin interfaceRecoverableSoSource
-