public class ExopackageInstaller extends Object
Modifier and Type | Field and Description |
---|---|
static Path |
EXOPACKAGE_INSTALL_ROOT |
static String |
NATIVE_LIBRARY_TYPE |
static String |
RESOURCES_TYPE |
static String |
SECONDARY_DEX_TYPE |
Constructor and Description |
---|
ExopackageInstaller(SourcePathResolverAdapter pathResolver,
ExecutionContext context,
ProjectFilesystem projectFilesystem,
String packageName,
AndroidDevice device) |
Modifier and Type | Method and Description |
---|---|
boolean |
doInstall(HasInstallableApk.ApkInfo apkInfo,
String processName) |
static boolean |
exopackageEnabled(HasInstallableApk.ApkInfo apkInfo) |
void |
finishExoFileInstallation(com.google.common.collect.ImmutableSortedSet<Path> presentFiles,
ExopackageInfo exoInfo) |
void |
installApkIfNecessary(HasInstallableApk.ApkInfo apkInfo) |
void |
installMissingExopackageFiles(com.google.common.collect.ImmutableSortedSet<Path> presentFiles,
ExopackageInfo exoInfo) |
void |
installMissingFiles(com.google.common.collect.ImmutableSortedSet<Path> presentFiles,
com.google.common.collect.ImmutableMap<Path,Path> wantedFilesToInstall,
String filesType) |
void |
killApp(HasInstallableApk.ApkInfo apkInfo,
String processName) |
static com.google.common.collect.ImmutableMultimap<String,Path> |
parseExopackageInfoMetadata(Path metadataTxt,
Path resolvePathAgainst,
ProjectFilesystem filesystem)
Parses a text file which is supposed to be in the following format: "file_path_without_spaces
file_hash ...." i.e.
|
public static final Path EXOPACKAGE_INSTALL_ROOT
public static final String SECONDARY_DEX_TYPE
public static final String NATIVE_LIBRARY_TYPE
public static final String RESOURCES_TYPE
public ExopackageInstaller(SourcePathResolverAdapter pathResolver, ExecutionContext context, ProjectFilesystem projectFilesystem, String packageName, AndroidDevice device)
public boolean doInstall(HasInstallableApk.ApkInfo apkInfo, @Nullable String processName) throws Exception
Exception
public void killApp(HasInstallableApk.ApkInfo apkInfo, @Nullable String processName) throws Exception
Exception
public void installApkIfNecessary(HasInstallableApk.ApkInfo apkInfo) throws Exception
Exception
public void finishExoFileInstallation(com.google.common.collect.ImmutableSortedSet<Path> presentFiles, ExopackageInfo exoInfo) throws Exception
Exception
public void installMissingExopackageFiles(com.google.common.collect.ImmutableSortedSet<Path> presentFiles, ExopackageInfo exoInfo) throws Exception
Exception
public static boolean exopackageEnabled(HasInstallableApk.ApkInfo apkInfo)
apkInfo
- the apk info to examine for exopackage itemspublic void installMissingFiles(com.google.common.collect.ImmutableSortedSet<Path> presentFiles, com.google.common.collect.ImmutableMap<Path,Path> wantedFilesToInstall, String filesType) throws Exception
Exception
public static com.google.common.collect.ImmutableMultimap<String,Path> parseExopackageInfoMetadata(Path metadataTxt, Path resolvePathAgainst, ProjectFilesystem filesystem) throws IOException
resolvePathAgainst
.IOException