String abiString = Strings.nullToEmpty(AndroidGradleOptions.getBuildTargetAbi(project)); if (!abiString.isEmpty() && outputDataList.size() > 1) { List<String> abiList = Arrays.asList(abiString.split(","));
public void createExternalNativeBuildTasks(TaskFactory tasks, @NonNull VariantScope scope) { ExternalNativeJsonGenerator generator = scope.getExternalNativeJsonGenerator(); if (generator == null) { return; } // Set up JSON generation tasks AndroidTask<?> generateTask = androidTasks.create(tasks, ExternalNativeBuildJsonTask.createTaskConfigAction( generator, scope)); generateTask.dependsOn(tasks, scope.getPreBuildTask()); boolean buildOnlyTargetAbi = AndroidGradleOptions.isBuildOnlyTargetAbiEnabled(project); // Set up build tasks AndroidTask<ExternalNativeBuildTask> buildTask = androidTasks.create( tasks, new ExternalNativeBuildTask.ConfigAction( buildOnlyTargetAbi ? AndroidGradleOptions.getBuildTargetAbi(project) : null, generator, scope, androidBuilder)); buildTask.dependsOn(tasks, generateTask); scope.setExternalNativeBuildTask(buildTask); scope.getCompileTask().dependsOn(tasks, buildTask); // Set up clean tasks Task cleanTask = checkNotNull(tasks.named("clean")); cleanTask.dependsOn(androidTasks.create(tasks, new ExternalNativeCleanTask.ConfigAction( generator, scope, androidBuilder)).getName()); }
/** * 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; }
boolean multiOutput = variantData.getOutputs().size() > 1; boolean abiSpecified = !Strings.isNullOrEmpty(AndroidGradleOptions.getBuildTargetAbi(project));