# androidx.javascriptengine

*** ** * ** ***

The androidx.javascriptengine library is a static library you can add to your Android application in order to evaluate JavaScript.

## Interfaces

|---|---|
| `https://developer.android.com/reference/androidx/javascriptengine/JavaScriptConsoleCallback` | Can be associated with an isolate to receive and process console messages and events from it. |
| `https://developer.android.com/reference/androidx/javascriptengine/MessagePortClient` | Interface for handling messages received from the other end of a `https://developer.android.com/reference/androidx/javascriptengine/MessagePort` channel. |

## Classes

|---|---|
| `https://developer.android.com/reference/androidx/javascriptengine/IsolateStartupParameters` | Class used to set startup parameters for `https://developer.android.com/reference/androidx/javascriptengine/JavaScriptIsolate`. |
| `https://developer.android.com/reference/androidx/javascriptengine/JavaScriptConsoleCallback.ConsoleMessage` | Representation of a console message, such as produced by console.log. |
| `https://developer.android.com/reference/androidx/javascriptengine/JavaScriptIsolate` | Environment within a `https://developer.android.com/reference/androidx/javascriptengine/JavaScriptSandbox` where JavaScript is executed. |
| `https://developer.android.com/reference/androidx/javascriptengine/JavaScriptSandbox` | Sandbox that provides APIs for JavaScript evaluation in a restricted environment. |
| `https://developer.android.com/reference/androidx/javascriptengine/Message` | A variant type for data that can be sent and received between two message ports. |
| `https://developer.android.com/reference/androidx/javascriptengine/MessagePort` | Represents a single message port in a message channel. |
| `https://developer.android.com/reference/androidx/javascriptengine/TerminationInfo` | Information about how and why an isolate has terminated. |

## Exceptions

|---|---|
| `https://developer.android.com/reference/androidx/javascriptengine/DataInputException` | Indicates that streaming JavaScript code into the JS evaluation environment has failed. |
| `https://developer.android.com/reference/androidx/javascriptengine/EvaluationFailedException` | Indicates that an evaluation failed due to a syntax error or exception produced by the script. |
| `https://developer.android.com/reference/androidx/javascriptengine/EvaluationResultSizeLimitExceededException` | Indicates that a JavaScriptIsolate's evaluation failed due to it returning an oversized result. |
| `https://developer.android.com/reference/androidx/javascriptengine/IsolateTerminatedException` | Exception produced when evaluation is terminated due to the `https://developer.android.com/reference/androidx/javascriptengine/JavaScriptIsolate` being closed or due to some crash. |
| `https://developer.android.com/reference/androidx/javascriptengine/JavaScriptException` | Super class for all asynchronous exceptions produced by `https://developer.android.com/reference/androidx/javascriptengine/JavaScriptIsolate#evaluateJavaScriptAsync(java.lang.String)`. |
| `https://developer.android.com/reference/androidx/javascriptengine/MemoryLimitExceededException` | Indicates that a JavaScriptIsolate's evaluation failed due to the isolate exceeding its heap size limit. |
| `https://developer.android.com/reference/androidx/javascriptengine/MessageTypeMismatchException` | Indicates an attempt to access the data of a `https://developer.android.com/reference/androidx/javascriptengine/Message` object as the wrong type. |
| `https://developer.android.com/reference/androidx/javascriptengine/SandboxDeadException` | Exception thrown when evaluation is terminated due the `https://developer.android.com/reference/androidx/javascriptengine/JavaScriptSandbox` being dead. |
| `https://developer.android.com/reference/androidx/javascriptengine/SandboxUnsupportedException` | Exception thrown when attempting to create a `https://developer.android.com/reference/androidx/javascriptengine/JavaScriptSandbox` via `https://developer.android.com/reference/androidx/javascriptengine/JavaScriptSandbox#createConnectedInstanceAsync(android.content.Context)` when doing so is not supported. |