public InstantRunTransform(InstantRunVariantScope transformScope) { this.transformScope = transformScope; this.targetPlatformApi = AndroidGradleOptions.getTargetFeatureLevel( transformScope.getGlobalScope().getProject()); }
private static boolean targetDeviceSupportsInstantRun( @NonNull GradleVariantConfiguration config, @NonNull Project project) { if (config.isLegacyMultiDexMode()) { // We don't support legacy multi-dex on Dalvik. return AndroidGradleOptions.getTargetFeatureLevel(project) >= AndroidVersion.ART_RUNTIME.getFeatureLevel(); } return true; }
AndroidGradleOptions.getTargetFeatureLevel(getGlobalScope().getProject());
/** * Creates all InstantRun related transforms after compilation. */ @NonNull public AndroidTask<PreColdSwapTask> createPreColdswapTask( @NonNull Project project) { TransformVariantScope transformVariantScope = variantScope.getTransformVariantScope(); InstantRunBuildContext context = variantScope.getInstantRunBuildContext(); context.setApiLevel( AndroidGradleOptions.getTargetFeatureLevel(project), AndroidGradleOptions.getColdswapMode(project), AndroidGradleOptions.getBuildTargetAbi(project)); context.setDensity(AndroidGradleOptions.getBuildTargetDensity(project)); if (transformVariantScope.getGlobalScope().isActive(OptionalCompilationStep.FULL_APK)) { context.setVerifierStatus(InstantRunVerifierStatus.FULL_BUILD_REQUESTED); } else if (transformVariantScope.getGlobalScope().isActive( OptionalCompilationStep.RESTART_ONLY)) { context.setVerifierStatus(InstantRunVerifierStatus.COLD_SWAP_REQUESTED); } AndroidTask<PreColdSwapTask> preColdSwapTask = androidTasks.create( tasks, new PreColdSwapTask.ConfigAction("preColdswap", transformVariantScope, variantScope)); preColdSwapTask.optionalDependsOn(tasks, verifierTask); return preColdSwapTask; }