Class UnpackingSoSource

All Implemented Interfaces:
AsyncInitSoSource
Direct Known Subclasses:
BackupSoSource, ExoSoSource, ExtractFromZipSoSource

public abstract class UnpackingSoSource extends DirectorySoSource implements AsyncInitSoSource
SoSource that extracts libraries from an APK to the filesystem.
  • Method Details

    • getSoStorePath

      public static File getSoStorePath(android.content.Context context, String name)
    • getSoSourceAbis

      public String[] getSoSourceAbis()
      Description copied from class: SoSource
      Return an array of ABIs handled by this SoSource.
      Overrides:
      getSoSourceAbis in class SoSource
      Returns:
      ABIs supported by this SoSource
    • getDsosBaseApk

      public UnpackingSoSource.Dso[] getDsosBaseApk() throws IOException
      Throws:
      IOException
    • setSoSourceAbis

      public void setSoSourceAbis(String[] abis)
    • waitUntilInitCompleted

      public void waitUntilInitCompleted()
      Specified by:
      waitUntilInitCompleted in interface AsyncInitSoSource
    • prepare

      public void prepare(int flags) throws IOException
      Verify or refresh the state of the shared library store.
      Throws:
      IOException
    • getLibraryPath

      @Nullable public String getLibraryPath(String soName) throws IOException
      Description copied from class: SoSource
      Gets the full path of a library if it is found on this SoSource.
      Overrides:
      getLibraryPath in class DirectorySoSource
      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 calculating soFileName's canonical path