|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.android.builder.core.AndroidBuilder
public class AndroidBuilder
This is the main builder class. It is given all the data to process the build (such as
DefaultProductFlavor
s, DefaultBuildType
and dependencies) and use them when doing specific
build steps.
To use:
create a builder with AndroidBuilder(String, String, ProcessExecutor, JavaProcessExecutor, ErrorReporter, ILogger, boolean)
then build steps can be done with
mergeManifests(File, List, List, String, int, String, String, String, Integer, String, String, ManifestMerger2.MergeType, Map, File)
processTestManifest(String, String, String, String, String, Boolean, Boolean, File, List, Map, File, File)
processResources(AaptPackageProcessBuilder, boolean, ProcessOutputHandler)
compileAllAidlFiles(List, File, File, Collection, List, DependencyFileProcessor, ProcessOutputHandler)
#convertByteCode(Collection, File, boolean, File, DexOptions, List, boolean, boolean, ProcessOutputHandler)
#packageApk(String, Set, Collection, Collection, Set, boolean, SigningConfig, String)
Java compilation is not handled but the builder provides the bootclasspath with
getBootClasspath(boolean)
.
Constructor Summary | |
---|---|
AndroidBuilder(java.lang.String projectId,
java.lang.String createdBy,
com.android.ide.common.process.ProcessExecutor processExecutor,
com.android.ide.common.process.JavaProcessExecutor javaProcessExecutor,
ErrorReporter errorReporter,
com.android.utils.ILogger logger,
boolean verboseExec)
Creates an AndroidBuilder. |
Method Summary | |
---|---|
void |
compileAidlFile(java.io.File sourceFolder,
java.io.File aidlFile,
java.io.File sourceOutputDir,
java.io.File packagedOutputDir,
java.util.Collection<java.lang.String> packageWhitelist,
java.util.List<java.io.File> importFolders,
DependencyFileProcessor dependencyFileProcessor,
com.android.ide.common.process.ProcessOutputHandler processOutputHandler)
Compiles the given aidl file. |
void |
compileAllAidlFiles(java.util.List<java.io.File> sourceFolders,
java.io.File sourceOutputDir,
java.io.File packagedOutputDir,
java.util.Collection<java.lang.String> packageWhiteList,
java.util.List<java.io.File> importFolders,
DependencyFileProcessor dependencyFileProcessor,
com.android.ide.common.process.ProcessOutputHandler processOutputHandler)
Compiles all the aidl files found in the given source folders. |
void |
compileAllRenderscriptFiles(java.util.List<java.io.File> sourceFolders,
java.util.List<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,
java.util.Set<java.lang.String> abiFilters,
com.android.ide.common.process.ProcessOutputHandler processOutputHandler)
Compiles all the renderscript files found in the given source folders. |
void |
convertByteCode(java.util.Collection<java.io.File> inputs,
java.io.File outDexFolder,
boolean multidex,
java.io.File mainDexList,
DexOptions dexOptions,
java.util.List<java.lang.String> additionalParameters,
boolean incremental,
boolean optimize,
com.android.ide.common.process.ProcessOutputHandler processOutputHandler,
boolean instantRunMode)
Converts the bytecode to Dalvik format |
boolean |
convertByteCodeUsingJackApis(java.io.File dexOutputFolder,
java.io.File jackOutputFile,
java.util.Collection<java.io.File> classpath,
java.util.Collection<java.io.File> packagedLibraries,
java.util.Collection<java.io.File> sourceFiles,
java.util.Collection<java.io.File> proguardFiles,
java.io.File mappingFile,
java.util.Collection<java.io.File> jarJarRulesFiles,
java.io.File incrementalDir,
java.io.File javaResourcesFolder,
boolean multiDex,
int minSdkVersion)
Converts java source code into android byte codes using the jack integration APIs. |
void |
convertByteCodeWithJack(java.io.File dexOutputFolder,
java.io.File jackOutputFile,
java.lang.String classpath,
java.util.Collection<java.io.File> packagedLibraries,
java.io.File ecjOptionFile,
java.util.Collection<java.io.File> proguardFiles,
java.io.File mappingFile,
java.util.Collection<java.io.File> jarJarRuleFiles,
boolean multiDex,
int minSdkVersion,
boolean debugLog,
java.lang.String javaMaxHeapSize,
com.android.ide.common.process.ProcessOutputHandler processOutputHandler)
|
static java.util.List<java.io.File> |
convertLibaryToJackUsingApis(java.io.File inputFile,
java.io.File outFile,
DexOptions dexOptions,
com.android.sdklib.BuildToolInfo buildToolInfo,
boolean verbose,
com.android.ide.common.process.JavaProcessExecutor processExecutor,
com.android.ide.common.process.ProcessOutputHandler processOutputHandler,
com.android.utils.ILogger logger)
|
static java.util.List<java.io.File> |
convertLibraryToJack(java.io.File inputFile,
java.io.File outFile,
DexOptions dexOptions,
com.android.sdklib.BuildToolInfo buildToolInfo,
boolean verbose,
com.android.ide.common.process.JavaProcessExecutor processExecutor,
com.android.ide.common.process.ProcessOutputHandler processOutputHandler,
com.android.utils.ILogger logger)
|
void |
convertLibraryToJack(java.io.File inputFile,
java.io.File outFile,
DexOptions dexOptions,
com.android.ide.common.process.ProcessOutputHandler processOutputHandler)
Converts the bytecode of a library to the jack format |
static com.android.builder.model.ClassField |
createClassField(java.lang.String type,
java.lang.String name,
java.lang.String value)
|
java.util.Set<java.lang.String> |
createMainDexList(java.io.File allClassesJarFile,
java.io.File jarOfRoots)
|
com.android.ide.common.process.ProcessResult |
executeProcess(com.android.ide.common.process.ProcessInfo processInfo,
com.android.ide.common.process.ProcessOutputHandler handler)
|
static java.lang.String |
formatXml(org.w3c.dom.Node node,
boolean endWithNewline)
|
void |
generateApkData(java.io.File apkFile,
java.io.File outResFolder,
java.lang.String mainPkgName,
java.lang.String resName)
|
static void |
generateApkDataEntryInManifest(int minSdkVersion,
int targetSdkVersion,
java.io.File manifestFile)
|
com.android.ide.common.internal.PngCruncher |
getAaptCruncher(com.android.ide.common.process.ProcessOutputHandler processOutputHandler)
Returns an PngCruncher using aapt underneath |
java.util.Set<java.io.File> |
getAdditionalPackagedJars(VariantConfiguration<?,?,?> variantConfiguration)
Returns the list of packaged jars for this config. |
java.util.Set<java.io.File> |
getAllPackagedJars(VariantConfiguration<?,?,?> variantConfiguration)
Returns the list of packaged jars for this config. |
java.util.List<java.io.File> |
getBootClasspath(boolean includeOptionalLibraries)
Helper method to get the boot classpath to be used during compilation. |
java.util.List<java.lang.String> |
getBootClasspathAsStrings(boolean includeOptionalLibraries)
Helper method to get the boot classpath to be used during compilation. |
java.util.Set<java.io.File> |
getCompileClasspath(VariantConfiguration<?,?,?> variantConfiguration)
Returns the compile classpath for this config. |
java.io.File |
getDxJar()
|
ErrorReporter |
getErrorReporter()
|
static java.util.List<java.io.File> |
getLeafFolders(java.lang.String extension,
java.util.List<java.io.File>... importFolders)
Computes and returns the leaf folders based on a given file extension. |
com.android.utils.ILogger |
getLogger()
|
com.android.ide.common.process.ProcessExecutor |
getProcessExecutor()
|
java.io.File |
getRenderScriptSupportJar()
Returns the jar file for the renderscript mode. |
SdkInfo |
getSdkInfo()
Returns the SdkInfo, if set. |
java.io.File |
getSupportNativeLibFolder()
Returns the native lib folder for the renderscript mode. |
com.android.sdklib.IAndroidTarget |
getTarget()
Returns the compilation target, if set. |
java.lang.String |
getTargetCodename()
|
TargetInfo |
getTargetInfo()
Returns the TargetInfo, if set. |
boolean |
isPreviewTarget()
Returns whether the compilation target is a preview. |
void |
mergeManifests(java.io.File mainManifest,
java.util.List<java.io.File> manifestOverlays,
java.util.List<? extends ManifestDependency> libraries,
java.lang.String packageOverride,
int versionCode,
java.lang.String versionName,
java.lang.String minSdkVersion,
java.lang.String targetSdkVersion,
java.lang.Integer maxSdkVersion,
java.lang.String outManifestLocation,
java.lang.String outAaptSafeManifestLocation,
com.android.manifmerger.ManifestMerger2.MergeType mergeType,
java.util.Map<java.lang.String,java.lang.Object> placeHolders,
java.io.File reportFile)
Invoke the Manifest Merger version 2. |
void |
packageApk(java.lang.String androidResPkgLocation,
java.util.Set<java.io.File> dexFolders,
java.util.Collection<java.io.File> javaResourcesLocations,
java.util.Collection<java.io.File> jniLibsLocations,
java.util.Set<java.lang.String> abiFilters,
boolean jniDebugBuild,
com.android.builder.model.SigningConfig signingConfig,
java.lang.String outApkLocation,
int minSdkVersion)
Packages the apk. |
void |
preDexLibrary(java.io.File inputFile,
java.io.File outFile,
boolean multiDex,
DexOptions dexOptions,
com.android.ide.common.process.ProcessOutputHandler processOutputHandler)
Converts the bytecode to Dalvik format, using the PreDexCache layer. |
com.google.common.collect.ImmutableList<java.io.File> |
preDexLibraryNoCache(java.io.File inputFile,
java.io.File outFile,
boolean multiDex,
DexOptions dexOptions,
com.android.ide.common.process.ProcessOutputHandler processOutputHandler)
Converts the bytecode to Dalvik format, ignoring the PreDexCache layer. |
void |
processResources(AaptPackageProcessBuilder aaptCommand,
boolean enforceUniquePackageName,
com.android.ide.common.process.ProcessOutputHandler processOutputHandler)
Process the resources and generate R.java and/or the packaged resources. |
void |
processTestManifest(java.lang.String testApplicationId,
java.lang.String minSdkVersion,
java.lang.String targetSdkVersion,
java.lang.String testedApplicationId,
java.lang.String instrumentationRunner,
java.lang.Boolean handleProfiling,
java.lang.Boolean functionalTest,
java.io.File testManifestFile,
java.util.List<? extends ManifestDependency> libraries,
java.util.Map<java.lang.String,java.lang.Object> manifestPlaceholders,
java.io.File outManifest,
java.io.File tmpDir)
Creates the manifest for a test variant |
void |
setTargetInfo(SdkInfo sdkInfo,
TargetInfo targetInfo,
java.util.Collection<LibraryRequest> libraryRequests)
Sets the SdkInfo and the targetInfo on the builder. |
void |
signApk(java.io.File in,
com.android.builder.model.SigningConfig signingConfig,
java.io.File out)
Signs a single jar file using the passed SigningConfig . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public AndroidBuilder(@NonNull java.lang.String projectId, @Nullable java.lang.String createdBy, @NonNull com.android.ide.common.process.ProcessExecutor processExecutor, @NonNull com.android.ide.common.process.JavaProcessExecutor javaProcessExecutor, @NonNull ErrorReporter errorReporter, @NonNull com.android.utils.ILogger logger, boolean verboseExec)
createdBy
- the createdBy String for the apk manifest.logger
- the LoggerverboseExec
- whether external tools are launched in verbose modeMethod Detail |
---|
public void setTargetInfo(@NonNull SdkInfo sdkInfo, @NonNull TargetInfo targetInfo, @NonNull java.util.Collection<LibraryRequest> libraryRequests)
sdkInfo
- the SdkInfotargetInfo
- the TargetInfoSdkLoader
@Nullable public SdkInfo getSdkInfo()
@Nullable public TargetInfo getTargetInfo()
@NonNull public com.android.utils.ILogger getLogger()
@NonNull public ErrorReporter getErrorReporter()
@Nullable public com.android.sdklib.IAndroidTarget getTarget()
public boolean isPreviewTarget()
public java.lang.String getTargetCodename()
@NonNull public java.io.File getDxJar()
@NonNull public java.util.List<java.io.File> getBootClasspath(boolean includeOptionalLibraries)
includeOptionalLibraries
- if true, optional libraries are included even if not
required by the project setup.@NonNull public java.util.List<java.lang.String> getBootClasspathAsStrings(boolean includeOptionalLibraries)
includeOptionalLibraries
- if true, optional libraries are included even if not
required by the project setup.@Nullable public java.io.File getRenderScriptSupportJar()
setTargetInfo(SdkInfo, TargetInfo, Collection)
@NonNull public java.util.Set<java.io.File> getCompileClasspath(@NonNull VariantConfiguration<?,?,?> variantConfiguration)
@NonNull public java.util.Set<java.io.File> getAllPackagedJars(@NonNull VariantConfiguration<?,?,?> variantConfiguration)
@NonNull public java.util.Set<java.io.File> getAdditionalPackagedJars(@NonNull VariantConfiguration<?,?,?> variantConfiguration)
@Nullable public java.io.File getSupportNativeLibFolder()
setTargetInfo(SdkInfo, TargetInfo, Collection)
@NonNull public com.android.ide.common.internal.PngCruncher getAaptCruncher(com.android.ide.common.process.ProcessOutputHandler processOutputHandler)
PngCruncher
using aapt underneath
@NonNull public com.android.ide.common.process.ProcessExecutor getProcessExecutor()
@NonNull public com.android.ide.common.process.ProcessResult executeProcess(@NonNull com.android.ide.common.process.ProcessInfo processInfo, @NonNull com.android.ide.common.process.ProcessOutputHandler handler)
@NonNull public static com.android.builder.model.ClassField createClassField(@NonNull java.lang.String type, @NonNull java.lang.String name, @NonNull java.lang.String value)
public static java.lang.String formatXml(@NonNull org.w3c.dom.Node node, boolean endWithNewline)
public void mergeManifests(@NonNull java.io.File mainManifest, @NonNull java.util.List<java.io.File> manifestOverlays, @NonNull java.util.List<? extends ManifestDependency> libraries, java.lang.String packageOverride, int versionCode, java.lang.String versionName, @Nullable java.lang.String minSdkVersion, @Nullable java.lang.String targetSdkVersion, @Nullable java.lang.Integer maxSdkVersion, @NonNull java.lang.String outManifestLocation, @Nullable java.lang.String outAaptSafeManifestLocation, com.android.manifmerger.ManifestMerger2.MergeType mergeType, java.util.Map<java.lang.String,java.lang.Object> placeHolders, @Nullable java.io.File reportFile)
public void processTestManifest(@NonNull java.lang.String testApplicationId, @NonNull java.lang.String minSdkVersion, @NonNull java.lang.String targetSdkVersion, @NonNull java.lang.String testedApplicationId, @NonNull java.lang.String instrumentationRunner, @NonNull java.lang.Boolean handleProfiling, @NonNull java.lang.Boolean functionalTest, @Nullable java.io.File testManifestFile, @NonNull java.util.List<? extends ManifestDependency> libraries, @NonNull java.util.Map<java.lang.String,java.lang.Object> manifestPlaceholders, @NonNull java.io.File outManifest, @NonNull java.io.File tmpDir) throws java.io.IOException
testApplicationId
- the application id of the test applicationminSdkVersion
- the minSdkVersion of the test applicationtargetSdkVersion
- the targetSdkVersion of the test applicationtestedApplicationId
- the application id of the tested applicationinstrumentationRunner
- the name of the instrumentation runnerhandleProfiling
- whether or not the Instrumentation object will turn profiling on and offfunctionalTest
- whether or not the Instrumentation class should run as a functional testtestManifestFile
- optionally user provided AndroidManifest.xml for testing applicationlibraries
- the library dependency graphoutManifest
- the output location for the merged manifest
java.io.IOException
VariantConfiguration.getApplicationId()
,
VariantConfiguration.getTestedConfig()
,
VariantConfiguration.getMinSdkVersion()
,
VariantConfiguration.getTestedApplicationId()
,
VariantConfiguration.getInstrumentationRunner()
,
VariantConfiguration.getHandleProfiling()
,
VariantConfiguration.getFunctionalTest()
,
VariantConfiguration.getDirectLibraries()
public void processResources(@NonNull AaptPackageProcessBuilder aaptCommand, boolean enforceUniquePackageName, @NonNull com.android.ide.common.process.ProcessOutputHandler processOutputHandler) throws java.io.IOException, java.lang.InterruptedException, com.android.ide.common.process.ProcessException
aaptCommand
- aapt command invocation parameters.enforceUniquePackageName
- if true method will fail if some libraries share the same
package name
java.io.IOException
java.lang.InterruptedException
com.android.ide.common.process.ProcessException
public void generateApkData(@NonNull java.io.File apkFile, @NonNull java.io.File outResFolder, @NonNull java.lang.String mainPkgName, @NonNull java.lang.String resName) throws com.android.ide.common.process.ProcessException, java.io.IOException
com.android.ide.common.process.ProcessException
java.io.IOException
public static void generateApkDataEntryInManifest(int minSdkVersion, int targetSdkVersion, @NonNull java.io.File manifestFile) throws java.lang.InterruptedException, com.android.ide.common.internal.LoggedErrorException, java.io.IOException
java.lang.InterruptedException
com.android.ide.common.internal.LoggedErrorException
java.io.IOException
public void compileAllAidlFiles(@NonNull java.util.List<java.io.File> sourceFolders, @NonNull java.io.File sourceOutputDir, @Nullable java.io.File packagedOutputDir, @Nullable java.util.Collection<java.lang.String> packageWhiteList, @NonNull java.util.List<java.io.File> importFolders, @Nullable DependencyFileProcessor dependencyFileProcessor, @NonNull com.android.ide.common.process.ProcessOutputHandler processOutputHandler) throws java.io.IOException, java.lang.InterruptedException, com.android.ide.common.internal.LoggedErrorException, com.android.ide.common.process.ProcessException
sourceFolders
- all the source folders to find files to compilesourceOutputDir
- the output dir in which to generate the source codepackagedOutputDir
- the output dir for the AIDL files that will be packaged in an aarpackageWhiteList
- a list of AIDL FQCNs that are not parcelable that should also be
packaged in an aarimportFolders
- import foldersdependencyFileProcessor
- the dependencyFileProcessor to record the dependencies
of the compilation.
java.io.IOException
java.lang.InterruptedException
com.android.ide.common.internal.LoggedErrorException
com.android.ide.common.process.ProcessException
public void compileAidlFile(@NonNull java.io.File sourceFolder, @NonNull java.io.File aidlFile, @NonNull java.io.File sourceOutputDir, @Nullable java.io.File packagedOutputDir, @Nullable java.util.Collection<java.lang.String> packageWhitelist, @NonNull java.util.List<java.io.File> importFolders, @Nullable DependencyFileProcessor dependencyFileProcessor, @NonNull com.android.ide.common.process.ProcessOutputHandler processOutputHandler) throws java.io.IOException, java.lang.InterruptedException, com.android.ide.common.internal.LoggedErrorException, com.android.ide.common.process.ProcessException
aidlFile
- the AIDL file to compilesourceOutputDir
- the output dir in which to generate the source codeimportFolders
- all the import folders, including the source folders.dependencyFileProcessor
- the dependencyFileProcessor to record the dependencies
of the compilation.
java.io.IOException
java.lang.InterruptedException
com.android.ide.common.internal.LoggedErrorException
com.android.ide.common.process.ProcessException
public void compileAllRenderscriptFiles(@NonNull java.util.List<java.io.File> sourceFolders, @NonNull java.util.List<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, @Nullable java.util.Set<java.lang.String> abiFilters, @NonNull com.android.ide.common.process.ProcessOutputHandler processOutputHandler) throws java.lang.InterruptedException, com.android.ide.common.process.ProcessException, com.android.ide.common.internal.LoggedErrorException, java.io.IOException
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.abiFilters
- ABI filters in case of support mode
java.io.IOException
java.lang.InterruptedException
com.android.ide.common.internal.LoggedErrorException
com.android.ide.common.process.ProcessException
@NonNull public static java.util.List<java.io.File> getLeafFolders(@NonNull java.lang.String extension, java.util.List<java.io.File>... importFolders)
extension
- the extension to search for.importFolders
- an array of list of root folders.
public void convertByteCode(@NonNull java.util.Collection<java.io.File> inputs, @NonNull java.io.File outDexFolder, boolean multidex, @Nullable java.io.File mainDexList, @NonNull DexOptions dexOptions, @Nullable java.util.List<java.lang.String> additionalParameters, boolean incremental, boolean optimize, @NonNull com.android.ide.common.process.ProcessOutputHandler processOutputHandler, boolean instantRunMode) throws java.io.IOException, java.lang.InterruptedException, com.android.ide.common.process.ProcessException
inputs
- the input filesoutDexFolder
- the location of the output folderdexOptions
- dex optionsadditionalParameters
- list of additional parameters to give to dxincremental
- true if it should attempt incremental dex if applicableinstantRunMode
- true if we are invoking dex to convert classes while creating
instant-run related artifacts.
java.io.IOException
java.lang.InterruptedException
com.android.ide.common.process.ProcessException
public java.util.Set<java.lang.String> createMainDexList(@NonNull java.io.File allClassesJarFile, @NonNull java.io.File jarOfRoots) throws com.android.ide.common.process.ProcessException
com.android.ide.common.process.ProcessException
public void preDexLibrary(@NonNull java.io.File inputFile, @NonNull java.io.File outFile, boolean multiDex, @NonNull DexOptions dexOptions, @NonNull com.android.ide.common.process.ProcessOutputHandler processOutputHandler) throws java.io.IOException, java.lang.InterruptedException, com.android.ide.common.process.ProcessException
PreDexCache
layer.
inputFile
- the input fileoutFile
- the output file or folder if multi-dex is enabled.multiDex
- whether multidex is enabled.dexOptions
- dex options
java.io.IOException
java.lang.InterruptedException
com.android.ide.common.process.ProcessException
@NonNull public com.google.common.collect.ImmutableList<java.io.File> preDexLibraryNoCache(@NonNull java.io.File inputFile, @NonNull java.io.File outFile, boolean multiDex, @NonNull DexOptions dexOptions, @NonNull com.android.ide.common.process.ProcessOutputHandler processOutputHandler) throws com.android.ide.common.process.ProcessException, java.io.IOException
PreDexCache
layer.
inputFile
- the input fileoutFile
- the output file or folder if multi-dex is enabled.multiDex
- whether multidex is enabled.dexOptions
- the dex options
com.android.ide.common.process.ProcessException
java.io.IOException
public boolean convertByteCodeUsingJackApis(@NonNull java.io.File dexOutputFolder, @NonNull java.io.File jackOutputFile, @NonNull java.util.Collection<java.io.File> classpath, @NonNull java.util.Collection<java.io.File> packagedLibraries, @NonNull java.util.Collection<java.io.File> sourceFiles, @Nullable java.util.Collection<java.io.File> proguardFiles, @Nullable java.io.File mappingFile, @NonNull java.util.Collection<java.io.File> jarJarRulesFiles, @Nullable java.io.File incrementalDir, @Nullable java.io.File javaResourcesFolder, boolean multiDex, int minSdkVersion)
public void convertByteCodeWithJack(@NonNull java.io.File dexOutputFolder, @NonNull java.io.File jackOutputFile, @NonNull java.lang.String classpath, @NonNull java.util.Collection<java.io.File> packagedLibraries, @NonNull java.io.File ecjOptionFile, @Nullable java.util.Collection<java.io.File> proguardFiles, @Nullable java.io.File mappingFile, @NonNull java.util.Collection<java.io.File> jarJarRuleFiles, boolean multiDex, int minSdkVersion, boolean debugLog, java.lang.String javaMaxHeapSize, @NonNull com.android.ide.common.process.ProcessOutputHandler processOutputHandler) throws com.android.ide.common.process.ProcessException
com.android.ide.common.process.ProcessException
public void convertLibraryToJack(@NonNull java.io.File inputFile, @NonNull java.io.File outFile, @NonNull DexOptions dexOptions, @NonNull com.android.ide.common.process.ProcessOutputHandler processOutputHandler) throws com.android.ide.common.process.ProcessException, java.io.IOException, java.lang.InterruptedException
inputFile
- the input fileoutFile
- the location of the output classes.dex filedexOptions
- dex options
com.android.ide.common.process.ProcessException
java.io.IOException
java.lang.InterruptedException
public static java.util.List<java.io.File> convertLibaryToJackUsingApis(@NonNull java.io.File inputFile, @NonNull java.io.File outFile, @NonNull DexOptions dexOptions, @NonNull com.android.sdklib.BuildToolInfo buildToolInfo, boolean verbose, @NonNull com.android.ide.common.process.JavaProcessExecutor processExecutor, @NonNull com.android.ide.common.process.ProcessOutputHandler processOutputHandler, @NonNull com.android.utils.ILogger logger) throws com.android.ide.common.process.ProcessException
com.android.ide.common.process.ProcessException
public static java.util.List<java.io.File> convertLibraryToJack(@NonNull java.io.File inputFile, @NonNull java.io.File outFile, @NonNull DexOptions dexOptions, @NonNull com.android.sdklib.BuildToolInfo buildToolInfo, boolean verbose, @NonNull com.android.ide.common.process.JavaProcessExecutor processExecutor, @NonNull com.android.ide.common.process.ProcessOutputHandler processOutputHandler, @NonNull com.android.utils.ILogger logger) throws com.android.ide.common.process.ProcessException
com.android.ide.common.process.ProcessException
public void packageApk(@NonNull java.lang.String androidResPkgLocation, @NonNull java.util.Set<java.io.File> dexFolders, @NonNull java.util.Collection<java.io.File> javaResourcesLocations, @NonNull java.util.Collection<java.io.File> jniLibsLocations, @NonNull java.util.Set<java.lang.String> abiFilters, boolean jniDebugBuild, @Nullable com.android.builder.model.SigningConfig signingConfig, @NonNull java.lang.String outApkLocation, int minSdkVersion) throws DuplicateFileException, java.io.FileNotFoundException, com.android.ide.common.signing.KeytoolException, PackagerException, SigningException
androidResPkgLocation
- the location of the packaged resource filedexFolders
- the folder(s) with the dex file(s).javaResourcesLocations
- the processed Java resource folders and/or jarsjniLibsLocations
- the folders containing jni shared librariesabiFilters
- optional ABI filterjniDebugBuild
- whether the app should include jni debug datasigningConfig
- the signing configurationoutApkLocation
- location of the APK.
DuplicateFileException
java.io.FileNotFoundException
- if the store location was not found
com.android.ide.common.signing.KeytoolException
PackagerException
SigningException
- when the key cannot be read from the keystorepublic void signApk(java.io.File in, com.android.builder.model.SigningConfig signingConfig, java.io.File out) throws java.io.IOException, com.android.ide.common.signing.KeytoolException, SigningException, java.security.NoSuchAlgorithmException, SignedJarBuilder.IZipEntryFilter.ZipAbortException, SigningException
SigningConfig
.
in
- the jar file to sign.signingConfig
- the signing configurationout
- the file path for the signed jar.
java.io.IOException
com.android.ide.common.signing.KeytoolException
SigningException
java.security.NoSuchAlgorithmException
SignedJarBuilder.IZipEntryFilter.ZipAbortException
SigningException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |