public ExopackageInstaller( ExecutionContext context, AdbHelper adbHelper, InstallableApk apkRule) { this.adbHelper = adbHelper; this.projectFilesystem = apkRule.getProjectFilesystem(); this.eventBus = context.getBuckEventBus(); this.apkRule = apkRule; this.packageName = AdbHelper.tryToExtractPackageNameFromManifest(apkRule); this.dataRoot = Paths.get("/data/local/tmp/exopackage/").resolve(packageName); Preconditions.checkArgument(AdbHelper.PACKAGE_NAME_PATTERN.matcher(packageName).matches()); Optional<ExopackageInfo> exopackageInfo = apkRule.getExopackageInfo(); Preconditions.checkArgument(exopackageInfo.isPresent()); this.exopackageInfo = exopackageInfo.get(); }