{% setvar book_path %}/reference/kotlin/androidx/_book.yaml{% endsetvar %} {% include "_shared/_reference-head-tags.html" %}

ShellExecutor

interface ShellExecutor

Known direct subclasses

Executes a shell command in a similar manner and environment as #executeShellCommand , (i.e. as either root or shell user).

Unlike UiAutomation this is available on all API levels and will not conflict with other instances of UiAutomation.

Summary

Public functions

InputStream
executeShellCommand(
    command: String,
    parameters: List<String>,
    shellEnv: Map<StringString>,
    executeThroughShell: Boolean,
    timeoutMs: Long
)

Execute a command with elevated permissions and return immediately.

InputStream
executeShellCommand(
    command: String,
    parameters: List<String>,
    shellEnv: Map<StringString>,
    executeThroughShell: Boolean
)

Execute a command with elevated permissions and return immediately.

String
executeShellCommandSync(
    command: String,
    parameters: List<String>,
    shellEnv: Map<StringString>,
    executeThroughShell: Boolean,
    timeoutMs: Long
)

Execute a command with elevated permissions and block.

String
executeShellCommandSync(
    command: String,
    parameters: List<String>,
    shellEnv: Map<StringString>,
    executeThroughShell: Boolean
)

Execute a command with elevated permissions and block.

String

Public functions

executeShellCommand

fun executeShellCommand(
    command: String,
    parameters: List<String>,
    shellEnv: Map<StringString>,
    executeThroughShell: Boolean,
    timeoutMs: Long
): InputStream

Execute a command with elevated permissions and return immediately.

Parameters
command: String

The shell command to be executed.

parameters: List<String>

A Map parameters to be given to the shell command

shellEnv: Map<StringString>

A Map of shell environment variables to be set

executeThroughShell: Boolean

If set to true, the command string will be executed through the shell with parameters given as additional shell arguments.

timeoutMs: Long

Optional, destroys the executing subprocess if it runs longer than this timeout.

Returns
InputStream

java.io.InputStream representing the shell output of the command.

Throws
java.io.IOException

if cannot execute command on executor service.

executeShellCommand

fun executeShellCommand(
    command: String,
    parameters: List<String>,
    shellEnv: Map<StringString>,
    executeThroughShell: Boolean
): InputStream

Execute a command with elevated permissions and return immediately.

Parameters
command: String

The shell command to be executed.

parameters: List<String>

A Map parameters to be given to the shell command

shellEnv: Map<StringString>

A Map of shell environment variables to be set

executeThroughShell: Boolean

If set to true, the command string will be executed through the shell with parameters given as additional shell arguments.

Returns
InputStream

java.io.InputStream representing the shell output of the command.

Throws
java.io.IOException

if cannot execute command on executor service.

executeShellCommandSync

fun executeShellCommandSync(
    command: String,
    parameters: List<String>,
    shellEnv: Map<StringString>,
    executeThroughShell: Boolean,
    timeoutMs: Long
): String

Execute a command with elevated permissions and block.

Parameters
command: String

The shell command to be executed.

parameters: List<String>

A Map parameters to be given to the shell command

shellEnv: Map<StringString>

A Map of shell environment variables to be set

executeThroughShell: Boolean

If set to true, the command string will be executed through the shell with parameters given as additional shell arguments.

timeoutMs: Long

Optional, destroys the executing subprocess if it runs longer than this timeout.

Returns
String

String representing the contents of the shell output of the command.

Throws
java.io.IOException

if cannot execute command on executor service.

executeShellCommandSync

fun executeShellCommandSync(
    command: String,
    parameters: List<String>,
    shellEnv: Map<StringString>,
    executeThroughShell: Boolean
): String

Execute a command with elevated permissions and block.

Parameters
command: String

The shell command to be executed.

parameters: List<String>

A Map parameters to be given to the shell command

shellEnv: Map<StringString>

A Map of shell environment variables to be set

executeThroughShell: Boolean

If set to true, the command string will be executed through the shell with parameters given as additional shell arguments.

Returns
String

String representing the contents of the shell output of the command.

Throws
java.io.IOException

if cannot execute command on executor service.

getBinderKey

fun getBinderKey(): String