argumentBuilder property
Builds the command-line arguments list for the Android build process.
Returns a list of command-line arguments to be passed to the Flutter build command. Combines base build arguments with Android-specific options based on the configuration.
Android-specific arguments added:
--split-per-abi- WhensplitPerAbiis true and binary type is APK--config-only- When only configuration generation is needed--track-widget-creation/--no-track-widget-creation- Widget tracking control--android-skip-build-dependency-validation- Dependency validation control--analyze-size/--no-analyze-size- Size analysis control--ignore-deprecation- Deprecation warning control--obfuscate/--no-obfuscate- Code obfuscation control--target-platform- Target platform specification--android-project-arg- Additional Android project arguments--code-size-directory- Size analysis output directory--split-debug-info- Debug info storage path
Implementation
@override
List<String> get argumentBuilder => super.argumentBuilder
..addAll([
// Add APK splitting only for APK binary type
if (splitPerAbi && binaryType == 'apk') '--split-per-abi',
// Configuration-only build
if (configOnly == true) '--config-only',
// Widget creation tracking control
if (trackWidgetCreation != null)
if (trackWidgetCreation == true)
'--track-widget-creation'
else
'--no-track-widget-creation',
// Android build dependency validation control
if (androidSkipBuildDependencyValidation != null)
if (androidSkipBuildDependencyValidation == true)
'--android-skip-build-dependency-validation'
else
'--no-android-skip-build-dependency-validation',
// Size analysis control
if (analyzeSize != null)
if (analyzeSize == true) '--analyze-size' else '--no-analyze-size',
// Deprecation warning control
if (ignoreDeprecation != null)
if (ignoreDeprecation == true) '--ignore-deprecation',
// Code obfuscation control
if (obfuscate != null)
if (obfuscate == true) '--obfuscate' else '--no-obfuscate',
// Target platform specification
if (targetPlatform != null) '--target-platform=$targetPlatform',
// Additional Android project arguments
if (androidProjectArg != null) '--android-project-arg=$androidProjectArg',
// Code size analysis output directory
if (codeSizeDirectory != null) '--code-size-directory=$codeSizeDirectory',
// Debug info storage path
if (splitDebugInfo != null) '--split-debug-info=$splitDebugInfo',
]);