Skip to main content

APK File Format

This command is used to build the project in the form of an .apk file.

Default

By default this command will build the project with the release version staging flavor.

morpheme build apk

After the building process is complete, we can check the .apk file in the build/app/outputs/apk/ and build/app/outputs/flutter-apk/ folders.

Options :

morpheme build apk [flavor/environment] [app_version] [custom_target] [build_number] [build_name] [[no-]obfuscate] [split-debug-info]
  • Flavor/Environment :
Flavor/EnvironmentAlternativeDescription
-f dev--flavor devBuild project on dev environment (Default)
-f stag--flavor stagBuild project on staging environment
-f prod--flavor prodBuild project on production environment
  • Generate l10n :
Generate l10nDescription
--[no]l10nGenerate l10n first before running other command. (defaults to on)
  • App Version :
App VersionDescription
--debugBuild project on debug mode (Default)
--profileBuild project on profile mode
--releaseBuild project on release mode (Default)
  • Custom Target :
Custom TargetAlternativeDescription
-t [url_file]--target [url_file]This command is used to build the application in a specific file, by default it will run the lib/main.dart file.
  • Custom Build Name :
Build NameDescription
--build-name [build_number]This command is used to build application with a specific name.
  • Custom Build Number :
Build NumberDescription
--build-number [build_number]This command is used to build application with a specific version number.
  • No Obfuscate :
Build NumberDescription
--[no-]obfuscateIn a release build, this flag removes identifiers and replaces them with randomized values for the purposes of source code obfuscation. This flag must always be combined with "--split-debug-info" option, the mapping between the values and the original identifiers is stored in the symbol map created in the specified directory. For an app built with this flag, the "flutter symbolize" command with the right program symbol file is required to obtain a human readable stack trace. (defaults to on)
  • Split Debug Info :
Build NumberDescription
--split-debug-infoIn a release build, this flag reduces application size by storing Dart program symbols in a separate file on the host rather than in the application. The value of the flag should be a directory where program symbol files can be stored for later use. These symbol files contain the information needed to symbolize Dart stack traces. For an app built with this flag, the "flutter symbolize" command with the right program symbol file is required to obtain a human readable stack trace. This flag cannot be combined with "--analyze-size". (defaults to "./.symbols/")

Example - Custom Version

  1. Debug Version

    morpheme build apk --debug
  2. Profile Version

    morpheme build apk --profile
  3. Release Version

    morpheme build apk --release

Example - Custom Environment/Flavor

  1. Dev Environment
    morpheme build apk -f dev
    Alternative:
    morpheme build apk --flavor dev
  2. Staging Environment
    morpheme build apk -f dev
    Alternative:
    morpheme build apk --flavor dev
  3. Production Environment
    morpheme build apk -f dev
    Alternative:
    morpheme build apk --flavor dev

Example - Custom Version and Environment Combination

morpheme build apk --release -f prod

Example - Custom Target

morpheme build apk --target [url_file *optional]

Alternative:

morpheme build apk --t [url_file *optional]

Example - Custom morpheme.yaml

morpheme build apk --morpheme-yaml [custom_path]

Example - Custom Build Number

morpheme build apk --build-number [build_number]

For example, we create an apk file with the custom build number 1.0.0

morpheme build apk --build-number 1.0.0

Example - Custom Build Name

morpheme build apk --build-name [build_name]

For example, we create an apk file with the name application_release

morpheme build apk --build-name application_release

Example - No Obfuscate

morpheme build apk --[no-]obfuscate

Example - Split Debug Info

morpheme build apk --split-debug-info