If you distribute your app as an Android App Bundle (AAB), they contain all required files and so can be uploaded in a single command.
For installation instructions for the BugSnag CLI, please see our Installation guide.
The android-aab
command extracts a given .aab
file and uploads any NDK symbol or Proguard mapping files to the appropriate upload API. See the upload android-ndk
and upload android-proguard
commands for details.
In addition to the symbol and mapping files, the command extracts version and build information, including your BugSnag API key, required for the upload from your app’s manifest file (AndroidManifest.xml
). These values can be overridden, or provided entirely, by command line options.
The simplest way to run the command is to provide the path to the .aab
file:
$ bugsnag-cli upload android-aab app/build/outputs/bundle/release/app-release.aab
--android-ndk-root
) The path to your NDK installation, used to access the objcopy
tool for extracting symbol information. This defaults to the path in the $ANDROID_NDK_ROOT
environment variable.
--api-key
) Your project’s API key. This defaults to the value of com.bugsnag.android.API_KEY
in your app’s manifest file, if found.
You can find your API key in Project Settings from your BugSnag dashboard.
--application-id
) The unique application ID, usually the package name, of the app. This defaults to the value of Package
in your app’s manifest file, if found.
--build-uuid
) A unique identifier for the build. This is only required if you have multiple mapping files with the same applicationId
and versionCode
. This same ID must also be set in the BugSnag configuration in your app, so that errors match the uploaded build. See Unique build identifiers for more information.
--dry-run
) Used to see the files and options that would be uploaded without actually sending them to the BugSnag endpoint.
--fail-on-upload
) Whether to stop any further uploads if a file fails to upload successfully. By default the command attempts to upload all files.
--overwrite
) Whether to ignore and overwrite existing uploads with same identifier. By default the command will fail if a matching file exists.
--project-root
) Path to strip from the beginning of source file names referenced in stacktraces when displayed as an error in your dashboard. This will default to your project’s root directory if the command has detected one, otherwise it’s empty.
--retries
) The number of retry attempts before failing an upload. By default it is only attempted once.
--timeout
) The number of seconds to wait before failing an upload attempt. By default the upload is given 300s (5 mins).
--upload-api-root-url
) The BugSnag On-premise upload server hostname, optionally containing port number. The command will append the appropriate path to access the correct BugSnag API upload endpoint.
--version-code
) The version code of this build of the app. This defaults to the value of VersionCode
in your app’s manifest file, if found.
--version-name
) The version of the app. This defaults to the value of VersionName
in your app’s manifest file, if found.