@CacheableTask
public class RenderscriptCompile
extends com.android.build.gradle.internal.tasks.NdkTask
| Modifier and Type | Class and Description |
|---|---|
static class |
RenderscriptCompile.CreationAction |
| Constructor and Description |
|---|
RenderscriptCompile() |
| Modifier and Type | Method and Description |
|---|---|
void |
compileAllRenderscriptFiles(java.util.Collection<java.io.File> sourceFolders,
java.util.Collection<java.io.File> importFolders,
java.io.File sourceOutputDir,
java.io.File resOutputDir,
java.io.File objOutputDir,
java.io.File libOutputDir,
int targetApi,
boolean debugBuild,
int optimLevel,
boolean ndkMode,
boolean supportMode,
boolean useAndroidX,
java.util.Set<java.lang.String> abiFilters,
com.android.ide.common.process.ProcessOutputHandler processOutputHandler,
com.android.sdklib.BuildToolInfo buildToolInfo)
Compiles all the renderscript files found in the given source folders.
|
protected void |
doTaskAction() |
java.lang.String |
getBuildToolsVersion() |
org.gradle.api.file.FileCollection |
getImportDirs() |
org.gradle.api.provider.Provider<org.gradle.api.file.Directory> |
getLibOutputDir() |
java.io.File |
getObjOutputDir() |
int |
getOptimLevel() |
java.io.File |
getResOutputDir() |
org.gradle.api.file.FileCollection |
getSourceDirs() |
java.io.File |
getSourceOutputDir() |
java.lang.Integer |
getTargetApi() |
boolean |
isDebugBuild() |
boolean |
isNdkMode() |
boolean |
isSupportMode() |
void |
setDebugBuild(boolean debugBuild) |
void |
setImportDirs(org.gradle.api.file.FileCollection importDirs) |
void |
setNdkMode(boolean ndkMode) |
void |
setObjOutputDir(java.io.File objOutputDir) |
void |
setOptimLevel(int optimLevel) |
void |
setResOutputDir(java.io.File resOutputDir) |
void |
setSourceOutputDir(java.io.File sourceOutputDir) |
void |
setSupportMode(boolean supportMode) |
boolean |
useAndroidX() |
getAbiFilters, getcFlags, getLdLibs, getModuleName, getNdkConfig, getStl, setNdkConfiggetVariantName, recordTaskAction, setVariantNamenewInputDirectory, newInputFile, newOutputDirectory, newOutputFileappendParallelSafeAction, compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getIdentityPath, getImpliesSubProjects, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOnlyIf, getOutputs, getPath, getProject, getServices, getShouldRunAfter, getStandardOutputCapture, getState, getTaskActions, getTaskDependencies, getTaskIdentity, getTemporaryDir, getTemporaryDirFactory, getTimeout, hasProperty, hasTaskActions, injectIntoNewInstance, isEnabled, isHasCustomActions, mustRunAfter, onlyIf, onlyIf, prependParallelSafeAction, property, replaceLogger, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setImpliesSubProjects, setMustRunAfter, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, toString@Input public java.lang.String getBuildToolsVersion()
@OutputDirectory public java.io.File getSourceOutputDir()
public void setSourceOutputDir(java.io.File sourceOutputDir)
@OutputDirectory public java.io.File getResOutputDir()
public void setResOutputDir(java.io.File resOutputDir)
@OutputDirectory public java.io.File getObjOutputDir()
public void setObjOutputDir(java.io.File objOutputDir)
@OutputDirectory public org.gradle.api.provider.Provider<org.gradle.api.file.Directory> getLibOutputDir()
@InputFiles @PathSensitive(value=RELATIVE) @SkipWhenEmpty public org.gradle.api.file.FileCollection getSourceDirs()
@InputFiles @PathSensitive(value=RELATIVE) public org.gradle.api.file.FileCollection getImportDirs()
public void setImportDirs(org.gradle.api.file.FileCollection importDirs)
@Input public java.lang.Integer getTargetApi()
@Input public boolean isSupportMode()
public void setSupportMode(boolean supportMode)
@Input public boolean useAndroidX()
@Input public int getOptimLevel()
public void setOptimLevel(int optimLevel)
@Input public boolean isDebugBuild()
public void setDebugBuild(boolean debugBuild)
@Input public boolean isNdkMode()
public void setNdkMode(boolean ndkMode)
protected void doTaskAction()
throws java.io.IOException,
java.lang.InterruptedException,
com.android.ide.common.process.ProcessException
doTaskAction in class com.android.build.gradle.internal.tasks.NonIncrementalTaskjava.io.IOExceptionjava.lang.InterruptedExceptioncom.android.ide.common.process.ProcessExceptionpublic void compileAllRenderscriptFiles(@NonNull
java.util.Collection<java.io.File> sourceFolders,
@NonNull
java.util.Collection<java.io.File> importFolders,
@NonNull
java.io.File sourceOutputDir,
@NonNull
java.io.File resOutputDir,
@NonNull
java.io.File objOutputDir,
@NonNull
java.io.File libOutputDir,
int targetApi,
boolean debugBuild,
int optimLevel,
boolean ndkMode,
boolean supportMode,
boolean useAndroidX,
@Nullable
java.util.Set<java.lang.String> abiFilters,
@NonNull
com.android.ide.common.process.ProcessOutputHandler processOutputHandler,
@NonNull
com.android.sdklib.BuildToolInfo buildToolInfo)
throws java.lang.InterruptedException,
com.android.ide.common.process.ProcessException,
java.io.IOException
Right now this is the only way to compile them as the renderscript compiler requires all renderscript files to be passed for all compilation.
Therefore whenever a renderscript file or header changes, all must be recompiled.
sourceFolders - all the source folders to find files to compileimportFolders - all the import folders.sourceOutputDir - the output dir in which to generate the source coderesOutputDir - the output dir in which to generate the bitcode filetargetApi - the target apidebugBuild - whether the build is debugoptimLevel - the optimization levelndkMode - whether the renderscript code should be compiled to generate C/C++ bindingssupportMode - support mode flag to generate .so files.useAndroidX - whether to use AndroidX dependenciesabiFilters - ABI filters in case of support modejava.io.IOException - failedjava.lang.InterruptedException - failedcom.android.ide.common.process.ProcessException