blob: 31e2c8f9ed16ebc2041410aaf3eaf673f816cfbd [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// This file was auto-generated via go generate.
// DO NOT UPDATE MANUALLY
/*
Multi-device Android Debug Bridge
The madb command wraps Android Debug Bridge (adb) command line tool and provides
various features for controlling multiple Android devices concurrently.
Usage:
madb [flags] <command>
The madb commands are:
clear-data Clear your app data from all devices
exec Run the provided adb command on all devices and emulators
concurrently
install Install your app on all devices
name Manage device nicknames
start Launch your app on all devices
stop Stop your app on all devices
uninstall Uninstall your app from all devices
user Manage default user settings for each device
help Display help for commands or topics
The madb flags are:
-d=false
Restrict the command to only run on real devices.
-e=false
Restrict the command to only run on emulators.
-n=
Comma-separated device serials, qualifiers, device indices (e.g., '@1',
'@2'), or nicknames (set by 'madb name'). A device index is specified by an
'@' sign followed by the index of the device in the output of 'adb devices'
command, starting from 1. Command will be run only on specified devices.
The global flags are:
-metadata=<just specify -metadata to activate>
Displays metadata for the program and exits.
-time=false
Dump timing information to stderr before exiting the program.
Madb clear-data - Clear your app data from all devices
Clears your app data from all devices.
To specify which user's data should be cleared, use 'madb user set' command to
set the default user ID for that device. (See 'madb help user' for more
details.)
Usage:
madb clear-data [flags] [<application_id>]
<application_id> is usually the package name where the activities are defined.
(See:
http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename)
If the application ID is not specified, madb automatically determines which app
to be cleared, based on the build scripts found in the current working
directory.
If the working directory contains a Gradle Android project (i.e., has
"build.gradle"), run a small Gradle script to extract the application ID. In
this case, the extracted ID is cached, so that "madb clear-data" can be repeated
without even running the Gradle script again. The ID can be re-extracted by
clearing the cache by providing "-clear-cache" flag.
The madb clear-data flags are:
-clear-cache=false
Clear the cache and re-extract the variant properties such as the application
ID and the main activity name. Only takes effect when no arguments are
provided.
-module=
Specify which application module to use, when the current directory is the
top level Gradle project containing multiple sub-modules. When not specified,
the first available application module is used. Only takes effect when no
arguments are provided.
-variant=
Specify which build variant to use. When not specified, the first available
build variant is used. Only takes effect when no arguments are provided.
-d=false
Restrict the command to only run on real devices.
-e=false
Restrict the command to only run on emulators.
-n=
Comma-separated device serials, qualifiers, device indices (e.g., '@1',
'@2'), or nicknames (set by 'madb name'). A device index is specified by an
'@' sign followed by the index of the device in the output of 'adb devices'
command, starting from 1. Command will be run only on specified devices.
Madb exec - Run the provided adb command on all devices and emulators concurrently
Runs the provided adb command on all devices and emulators concurrently.
For example, the following line:
madb -a exec push ./foo.txt /sdcard/foo.txt
copies the ./foo.txt file to /sdcard/foo.txt for all the currently connected
Android devices.
To see the list of available adb commands, type 'adb help'.
Usage:
madb exec [flags] <command>
<command> is a normal adb command, which will be executed on all devices and
emulators.
The madb exec flags are:
-d=false
Restrict the command to only run on real devices.
-e=false
Restrict the command to only run on emulators.
-n=
Comma-separated device serials, qualifiers, device indices (e.g., '@1',
'@2'), or nicknames (set by 'madb name'). A device index is specified by an
'@' sign followed by the index of the device in the output of 'adb devices'
command, starting from 1. Command will be run only on specified devices.
Madb install - Install your app on all devices
Installs your app on all devices.
If the working directory contains a Gradle Android project (i.e., has
"build.gradle"), this command will first run a small Gradle script to extract
the variant properties, which will be used to find the best matching .apk for
each device. These extracted properties are cached, and "madb install" can be
repeated without running this Gradle script again. The properties can be
re-extracted by clearing the cache by providing "-clear-cache" flag.
Once the variant properties are extracted, the best matching .apk for each
device will be installed in parallel.
This command is similar to running "gradlew :<moduleName>:<variantName>Install",
but "madb install" is more flexible: 1) you can install the app to a subset of
the devices, and 2) the app is installed concurrently, which saves a lot of
time.
If the working directory contains a Flutter project (i.e., has "flutter.yaml"),
this command will run "flutter install --device-id <device serial>" for all
devices.
To install your app for a specific user on a particular device, use 'madb user
set' command to set the default user ID for that device. (See 'madb help user'
for more details.)
To install a specific .apk file to all devices, use "madb exec install
<path_to_apk>" instead.
Usage:
madb install [flags]
The madb install flags are:
-build=true
Build the target app variant before installing or running the app.
-clear-cache=false
Clear the cache and re-extract the variant properties such as the application
ID and the main activity name. Only takes effect when no arguments are
provided.
-module=
Specify which application module to use, when the current directory is the
top level Gradle project containing multiple sub-modules. When not specified,
the first available application module is used. Only takes effect when no
arguments are provided.
-variant=
Specify which build variant to use. When not specified, the first available
build variant is used. Only takes effect when no arguments are provided.
-d=false
Restrict the command to only run on real devices.
-e=false
Restrict the command to only run on emulators.
-n=
Comma-separated device serials, qualifiers, device indices (e.g., '@1',
'@2'), or nicknames (set by 'madb name'). A device index is specified by an
'@' sign followed by the index of the device in the output of 'adb devices'
command, starting from 1. Command will be run only on specified devices.
Madb name - Manage device nicknames
Manages device nicknames, which are meant to be more human-friendly compared to
the device serials provided by adb tool.
NOTE: Device specifier flags (-d, -e, -n) are ignored in all 'madb name'
commands.
Usage:
madb name [flags] <command>
The madb name commands are:
set Set a nickname to be used in place of the device serial.
unset Unset a nickname set by the 'madb name set' command.
list List all the existing nicknames.
clear-all Clear all the existing nicknames.
The madb name flags are:
-d=false
Restrict the command to only run on real devices.
-e=false
Restrict the command to only run on emulators.
-n=
Comma-separated device serials, qualifiers, device indices (e.g., '@1',
'@2'), or nicknames (set by 'madb name'). A device index is specified by an
'@' sign followed by the index of the device in the output of 'adb devices'
command, starting from 1. Command will be run only on specified devices.
Madb name set
Sets a human-friendly nickname that can be used when specifying the device in
any madb commands.
The device serial can be obtained using the 'adb devices -l' command. For
example, consider the following example output:
HT4BVWV00023 device usb:3-3.4.2 product:volantisg model:Nexus_9 device:flounder_lte
The first value, 'HT4BVWV00023', is the device serial. To assign a nickname for
this device, run the following command:
madb name set HT4BVWV00023 MyTablet
and it will assign the 'MyTablet' nickname to the device serial 'HT4BVWV00023'.
The alternative device specifiers (e.g., 'usb:3-3.4.2', 'product:volantisg') can
also have nicknames.
When a nickname is set for a device serial, the nickname can be used to specify
the device within madb commands.
There can only be one nickname for a device serial. When the 'madb name set'
command is invoked with a device serial with an already assigned nickname, the
old one will be replaced with the newly provided one.
Usage:
madb name set [flags] <device_serial> <nickname>
<device_serial> is a device serial (e.g., 'HT4BVWV00023') or an alternative
device qualifier (e.g., 'usb:3-3.4.2') obtained from 'adb devices -l' command
<nickname> is an alpha-numeric string with no special characters or spaces.
The madb name set flags are:
-d=false
Restrict the command to only run on real devices.
-e=false
Restrict the command to only run on emulators.
-n=
Comma-separated device serials, qualifiers, device indices (e.g., '@1',
'@2'), or nicknames (set by 'madb name'). A device index is specified by an
'@' sign followed by the index of the device in the output of 'adb devices'
command, starting from 1. Command will be run only on specified devices.
Madb name unset
Unsets a nickname assigned by the 'madb name set' command. Either the device
serial or the assigned nickname can be specified to remove the mapping.
Usage:
madb name unset [flags] <device_serial | nickname>
There should be only one argument, which is either the device serial or the
nickname.
The madb name unset flags are:
-d=false
Restrict the command to only run on real devices.
-e=false
Restrict the command to only run on emulators.
-n=
Comma-separated device serials, qualifiers, device indices (e.g., '@1',
'@2'), or nicknames (set by 'madb name'). A device index is specified by an
'@' sign followed by the index of the device in the output of 'adb devices'
command, starting from 1. Command will be run only on specified devices.
Madb name list
Lists all the currently stored nicknames of device serials.
Usage:
madb name list [flags]
The madb name list flags are:
-d=false
Restrict the command to only run on real devices.
-e=false
Restrict the command to only run on emulators.
-n=
Comma-separated device serials, qualifiers, device indices (e.g., '@1',
'@2'), or nicknames (set by 'madb name'). A device index is specified by an
'@' sign followed by the index of the device in the output of 'adb devices'
command, starting from 1. Command will be run only on specified devices.
Madb name clear-all
Clears all the currently stored nicknames of device serials.
Usage:
madb name clear-all [flags]
The madb name clear-all flags are:
-d=false
Restrict the command to only run on real devices.
-e=false
Restrict the command to only run on emulators.
-n=
Comma-separated device serials, qualifiers, device indices (e.g., '@1',
'@2'), or nicknames (set by 'madb name'). A device index is specified by an
'@' sign followed by the index of the device in the output of 'adb devices'
command, starting from 1. Command will be run only on specified devices.
Madb start - Launch your app on all devices
Launches your app on all devices.
In most cases, running "madb start" from an Android Gradle project directory
will do the right thing for you. "madb start" will build the project first.
After the project build is completed, this command will install the best
matching .apk for each device, only if one or more of the following conditions
are met:
- the app is not found on the device
- the installed app is outdated (determined by comparing the last update time of the
installed app and the last modification time of the local .apk file)
- "-force-install" flag is set
If you would like to run the same version of the app repeatedly (e.g., for QA
testing), you can explicitly turn off the build flag by providing "-build=false"
to skip the build step.
To run your app as a specific user on a particular device, use 'madb user set'
command to set the default user ID for that device. (See 'madb help user' for
more details.)
Usage:
madb start [flags] [<application_id> <activity_name>]
<application_id> is usually the package name where the activities are defined.
(See:
http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename)
<activity_name> is the Java class name for the activity you want to launch. If
the package name of the activity is different from the application ID, the
activity name must be a fully-qualified name (e.g.,
com.yourcompany.yourapp.MainActivity).
If either <application_id> or <activity_name> is provided, the other must be
provided as well.
If no arguments are specified, madb automatically determines which app to
launch, based on the build scripts found in the current working directory.
1) If the working directory contains a Flutter project (i.e., has
"flutter.yaml"), this command will run "flutter start --device-id <device
serial>" for all the specified devices.
2) If the working directory contains a Gradle Android project (i.e., has
"build.gradle"), this command will run a small Gradle script to extract the
application ID and the main activity name. In this case, the extracted IDs are
cached, so that "madb start" can be repeated without even running the Gradle
script again. The IDs can be re-extracted by clearing the cache by providing
"-clear-cache" flag.
The madb start flags are:
-build=true
Build the target app variant before installing or running the app.
-clear-cache=false
Clear the cache and re-extract the variant properties such as the application
ID and the main activity name. Only takes effect when no arguments are
provided.
-force-install=false
Force install the target app before starting the activity.
-force-stop=true
Force stop the target app before starting the activity.
-module=
Specify which application module to use, when the current directory is the
top level Gradle project containing multiple sub-modules. When not specified,
the first available application module is used. Only takes effect when no
arguments are provided.
-variant=
Specify which build variant to use. When not specified, the first available
build variant is used. Only takes effect when no arguments are provided.
-d=false
Restrict the command to only run on real devices.
-e=false
Restrict the command to only run on emulators.
-n=
Comma-separated device serials, qualifiers, device indices (e.g., '@1',
'@2'), or nicknames (set by 'madb name'). A device index is specified by an
'@' sign followed by the index of the device in the output of 'adb devices'
command, starting from 1. Command will be run only on specified devices.
Madb stop - Stop your app on all devices
Stops your app on all devices.
To stop your app for a specific user on a particular device, use 'madb user set'
command to set the default user ID for that device. (See 'madb help user' for
more details.)
Usage:
madb stop [flags] [<application_id>]
<application_id> is usually the package name where the activities are defined.
(See:
http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename)
If the application ID is not specified, madb automatically determines which app
to stop, based on the build scripts found in the current working directory.
1) If the working directory contains a Flutter project (i.e., has
"flutter.yaml"), this command will run "flutter stop --device-id <device
serial>" for all the specified devices.
2) If the working directory contains a Gradle Android project (i.e., has
"build.gradle"), run a small Gradle script to extract the application ID. In
this case, the extracted ID is cached, so that "madb stop" can be repeated
without even running the Gradle script again. The ID can be re-extracted by
clearing the cache by providing "-clear-cache" flag.
The madb stop flags are:
-clear-cache=false
Clear the cache and re-extract the variant properties such as the application
ID and the main activity name. Only takes effect when no arguments are
provided.
-module=
Specify which application module to use, when the current directory is the
top level Gradle project containing multiple sub-modules. When not specified,
the first available application module is used. Only takes effect when no
arguments are provided.
-variant=
Specify which build variant to use. When not specified, the first available
build variant is used. Only takes effect when no arguments are provided.
-d=false
Restrict the command to only run on real devices.
-e=false
Restrict the command to only run on emulators.
-n=
Comma-separated device serials, qualifiers, device indices (e.g., '@1',
'@2'), or nicknames (set by 'madb name'). A device index is specified by an
'@' sign followed by the index of the device in the output of 'adb devices'
command, starting from 1. Command will be run only on specified devices.
Madb uninstall - Uninstall your app from all devices
Uninstall your app from all devices.
To uninstall your app for a specific user on a particular device, use 'madb user
set' command to set the default user ID for that device. (See 'madb help user'
for more details.)
Usage:
madb uninstall [flags] [<application_id>]
<application_id> is usually the package name where the activities are defined.
(See:
http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename)
If the application_id is not specified, madb automatically determines which app
to uninstall, based on the build scripts found in the current working directory.
If the working directory contains a Gradle Android project (i.e., has
"build.gradle"), run a small Gradle script to extract the application ID. In
this case, the extracted ID is cached, so that "madb uninstall" can be repeated
without even running the Gradle script again. The ID can be re-extracted by
clearing the cache by providing "-clear-cache" flag.
The madb uninstall flags are:
-clear-cache=false
Clear the cache and re-extract the variant properties such as the application
ID and the main activity name. Only takes effect when no arguments are
provided.
-keep-data=false
Keep the application data and cache directories. Equivalent to '-k' flag in
'adb uninstall' command.
-module=
Specify which application module to use, when the current directory is the
top level Gradle project containing multiple sub-modules. When not specified,
the first available application module is used. Only takes effect when no
arguments are provided.
-variant=
Specify which build variant to use. When not specified, the first available
build variant is used. Only takes effect when no arguments are provided.
-d=false
Restrict the command to only run on real devices.
-e=false
Restrict the command to only run on emulators.
-n=
Comma-separated device serials, qualifiers, device indices (e.g., '@1',
'@2'), or nicknames (set by 'madb name'). A device index is specified by an
'@' sign followed by the index of the device in the output of 'adb devices'
command, starting from 1. Command will be run only on specified devices.
Madb user - Manage default user settings for each device
Manages default user settings for each device.
An Android device can have multiple user accounts, and each user account has a
numeric ID associated with it. Certain adb commands accept '--user <user_id>' as
a parameter to allow specifying which of the Android user account should be used
when running the command. The default behavior when the user ID is not provided
varies by the adb command being run.
Some madb commands internally run these adb commands which accept the '--user'
flag. You can let madb use different user IDs for different devices by storing
the default user ID for each device using 'madb user set' command. If the
default user ID is not set for a particular device, madb will not provide the
'--user' flag to the underlying adb command, and the current user will be used
for that device as a result.
Below is the list of madb commands which are affected by the default user ID
settings:
madb clear-data
madb install
madb start
madb stop
madb uninstall
For more details on how to obtain the user ID from an Android device, see 'madb
user help set'.
NOTE: Device specifier flags (-d, -e, -n) are ignored in all 'madb name'
commands.
Usage:
madb user [flags] <command>
The madb user commands are:
set Set a default user ID to be used for the given device.
unset Unset the default user ID set by the 'madb user set' command.
list List all the existing default user IDs.
clear-all Clear all the existing default user settings.
The madb user flags are:
-d=false
Restrict the command to only run on real devices.
-e=false
Restrict the command to only run on emulators.
-n=
Comma-separated device serials, qualifiers, device indices (e.g., '@1',
'@2'), or nicknames (set by 'madb name'). A device index is specified by an
'@' sign followed by the index of the device in the output of 'adb devices'
command, starting from 1. Command will be run only on specified devices.
Madb user set
Sets a default user ID to be used for the specified device, when there are
multiple user accounts on a single device.
The user IDs can be obtained using the 'adb [<device_serial>] shell pm list
users' command. Alternatively, you can use 'madb exec' if you want to specify
the device with a nickname. For example, running the following command:
madb -n=MyPhone exec shell pm list users
will list the available users and their IDs on the MyPhone device. Consider the
following example output:
[MyPhone] Users:
[MyPhone] UserInfo{0:John Doe:13} running
[MyPhone] UserInfo{10:Work profile:30} running
There are two available users, "John Doe" and "Work profile". Each user is
assigned a "user ID", which appears on the left of the user name. In this case,
the user ID of "John Doe" is "0", and the user ID of the "Work profile" is "10".
To use the "Work profile" as the default user when running madb commands on this
device, run the following command:
madb user set MyPhone 10
and then madb will use "Work profile" as the default user for device "MyPhone"
in any of the subsequence madb commands.
Usage:
madb user set [flags] <device_serial> <user_id>
<device_serial> is the unique serial number for the device, which can be
obtained from 'adb devices'. <user_id> is one of the user IDs obtained from 'adb
shell pm list users' command.
The madb user set flags are:
-d=false
Restrict the command to only run on real devices.
-e=false
Restrict the command to only run on emulators.
-n=
Comma-separated device serials, qualifiers, device indices (e.g., '@1',
'@2'), or nicknames (set by 'madb name'). A device index is specified by an
'@' sign followed by the index of the device in the output of 'adb devices'
command, starting from 1. Command will be run only on specified devices.
Madb user unset
Unsets the default user ID assigned by the 'madb user set' command for the
specified device.
Running this command without any device specifiers will unset the default users
only for the currently available devices and emulators, while keeping the
default user IDs for the other devices.
Usage:
madb user unset [flags] <device_serial>
<device_serial> is the unique serial number for the device, which can be
obtained from 'adb devices'.
The madb user unset flags are:
-d=false
Restrict the command to only run on real devices.
-e=false
Restrict the command to only run on emulators.
-n=
Comma-separated device serials, qualifiers, device indices (e.g., '@1',
'@2'), or nicknames (set by 'madb name'). A device index is specified by an
'@' sign followed by the index of the device in the output of 'adb devices'
command, starting from 1. Command will be run only on specified devices.
Madb user list
Lists all the currently stored default user IDs for devices.
Usage:
madb user list [flags]
The madb user list flags are:
-d=false
Restrict the command to only run on real devices.
-e=false
Restrict the command to only run on emulators.
-n=
Comma-separated device serials, qualifiers, device indices (e.g., '@1',
'@2'), or nicknames (set by 'madb name'). A device index is specified by an
'@' sign followed by the index of the device in the output of 'adb devices'
command, starting from 1. Command will be run only on specified devices.
Madb user clear-all
Clears all the currently stored default user IDs for devices.
This command clears the default user IDs regardless of whether the device is
currently connected or not.
Usage:
madb user clear-all [flags]
The madb user clear-all flags are:
-d=false
Restrict the command to only run on real devices.
-e=false
Restrict the command to only run on emulators.
-n=
Comma-separated device serials, qualifiers, device indices (e.g., '@1',
'@2'), or nicknames (set by 'madb name'). A device index is specified by an
'@' sign followed by the index of the device in the output of 'adb devices'
command, starting from 1. Command will be run only on specified devices.
Madb help - Display help for commands or topics
Help with no args displays the usage of the parent command.
Help with args displays the usage of the specified sub-command or help topic.
"help ..." recursively displays help for all commands and topics.
Usage:
madb help [flags] [command/topic ...]
[command/topic ...] optionally identifies a specific sub-command or help topic.
The madb help flags are:
-style=compact
The formatting style for help output:
compact - Good for compact cmdline output.
full - Good for cmdline output, shows all global flags.
godoc - Good for godoc processing.
shortonly - Only output short description.
Override the default by setting the CMDLINE_STYLE environment variable.
-width=<terminal width>
Format output to this target width in runes, or unlimited if width < 0.
Defaults to the terminal width if available. Override the default by setting
the CMDLINE_WIDTH environment variable.
*/
package main