コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
JavaScriptEngine
Android アプリで JavaScript を評価できるようにします。
最新の更新 |
安定版リリース |
リリース候補版 |
ベータ版リリース |
アルファ版リリース |
2025 年 7 月 2 日 |
1.0.0 |
- |
- |
- |
依存関係の宣言
JavaScriptEngine への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle
ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies {
implementation "androidx.javascriptengine:javascriptengine:1.0.0"
}
Kotlin
dependencies {
implementation("androidx.javascriptengine:javascriptengine:1.0.0")
}
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
新しい問題を報告する
詳細については、Issue Tracker のドキュメントをご覧ください。
バージョン 1.0
バージョン 1.0.0
2025 年 7 月 2 日
androidx.javascriptengine:javascriptengine:1.0.0
がリリースされました。前回のリリース候補版からの重要な変更はありません。バージョン 1.0.0 にはこれらの commit が含まれています。
バージョン 1.0.0-rc01
2025 年 3 月 26 日
androidx.javascriptengine:javascriptengine:1.0.0-rc01
がリリースされました。最後のベータ版からの重要な変更はありません。バージョン 1.0.0-rc01 にはこれらの commit が含まれています。
バージョン 1.0.0-beta01
2023 年 11 月 1 日
androidx.javascriptengine:javascriptengine:1.0.0-beta01
がリリースされました。前回のアルファ版からの重要な変更はありません。バージョン 1.0.0-beta01 に含まれる commit については、こちらをご覧ください。
バージョン 1.0.0-alpha07
2023 年 10 月 18 日
androidx.javascriptengine:javascriptengine:1.0.0-alpha07
がリリースされました。バージョン 1.0.0-alpha07 に含まれる commit については、こちらをご覧ください。
新機能
- アプリがコールバックを登録して分離クラッシュを処理できるようにする新しい API を導入しました。
API の変更
DEFAULT_MAX_HEAP_SIZE
を AUTOMATIC_MAX_HEAP_SIZE
に変更しました。(I6d303)
FileDescriptorIoException
を DataInputException
に変更しました。(Iba4eb)
DEFAULT_ISOLATE_HEAP_SIZE
を DEFAULT_MAX_HEAP_SIZE
に変更しました。(Iaa16f)
- 機能しないコンソールの
getSource
メソッドと getTrace
メソッドを削除しました。(I4b7a2)
FileDescriptorIoException
を再表示(Ic44e6)
- アプリがコールバックを登録して、分離クラッシュを処理できるようにします。(Iad25f)
バージョン 1.0.0-alpha06
2023 年 10 月 4 日
androidx.javascriptengine:javascriptengine:1.0.0-alpha06
がリリースされました。バージョン 1.0.0-alpha06 に含まれる commit については、こちらをご覧ください。
新機能
- ソースを String に変換することなく
ParcelFileDescriptor/AssetFileDescriptor
から JavaScript を評価するための新しい API が導入されました。JavaScriptIsolate
クラスがスレッドセーフになりました。
API の変更
- false を返すのではなく例外をスローするように
provideNamedData
を変更しました。(I8909a)
- Afds と Pfds を介して JavaScript を評価するための API を追加(I03e3a)
MemoryLimitExceededException
と SandboxDeadException
を IsolateTerminatedException
のサブクラスにしました(Icf359)
- 公開 API
evaluateJavaScriptAsync(@NonNull byte[] code)
を削除(I4b3ac)
バグの修正
JavaScriptIsolate
をスレッドセーフにする。(Ib28e0)
バージョン 1.0.0-alpha05
2023 年 4 月 5 日
androidx.javascriptengine:javascriptengine:1.0.0-alpha05
がリリースされました。バージョン 1.0.0-alpha05 に含まれる commit については、こちらをご覧ください。
API の変更
バージョン 1.0.0-alpha04
2023 年 2 月 22 日
androidx.javascriptengine:javascriptengine:1.0.0-alpha04
がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください。
バグの修正
- サンドボックス化されたプロセスの終了時に発生する
NullPointerException
のまれなケースを修正しました。
バージョン 1.0.0-alpha03
2022 年 12 月 7 日
androidx.javascriptengine:javascriptengine:1.0.0-alpha03
がリリースされました。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
- サンドボックス全体のクラッシュではなく、対象となる分離部分のメモリ不足によるクラッシュが含まれます。分離部分はメモリ不足になると、評価に使用できなくなります。
- 現在、分離部分に割り当てられているリソースは、サンドボックスが終了するまで解放されません。ライブラリの後続バージョンでは、このリソース解放動作が変更される可能性があります。
API の変更
- 評価によって分離部分がメモリ不足になると
MemoryLimitExceededException
をスローします。(I336ca)
バージョン 1.0.0-alpha02
2022 年 10 月 5 日
androidx.javascriptengine:javascriptengine:1.0.0-alpha02
がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
- システムが JavaScript サンドボックスをサポートしているかどうかを確認できるように、
JavaScriptSandbox#isSupported
を追加します。
API の変更
- システムのサポートがないために
JavaScriptSandbox
を作成できない場合は、SandboxUnsupportedException
をスローします。(I0dcd6)
バージョン 1.0.0-alpha01
2022 年 8 月 10 日
androidx.javascriptengine:javascriptengine:1.0.0-alpha01
がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-07-27 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-07-27 UTC。"],[],[],null,["# JavascriptEngine\n================\n\nAPI Reference \n[androidx.javascriptengine](/reference/kotlin/androidx/javascriptengine/package-summary) \nEnable your Android app to evaluate JavaScript. \n\n| Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release |\n|---------------|------------------------------------------------------------|-------------------|--------------|---------------|\n| July 2, 2025 | [1.0.0](/jetpack/androidx/releases/javascriptengine#1.0.0) | - | - | - |\n\nDeclaring dependencies\n----------------------\n\nTo add a dependency on JavascriptEngine, you must add the Google Maven repository to your\nproject. Read [Google's Maven repository](/studio/build/dependencies#google-maven)\nfor more information.\n\nAdd the dependencies for the artifacts you need in the `build.gradle` file for\nyour app or module: \n\n### Groovy\n\n```groovy\ndependencies {\n implementation \"androidx.javascriptengine:javascriptengine:1.0.0\"\n}\n```\n\n### Kotlin\n\n```kotlin\ndependencies {\n implementation(\"androidx.javascriptengine:javascriptengine:1.0.0\")\n}\n```\n\nFor more information about dependencies, see [Add build dependencies](/studio/build/dependencies).\n\nFeedback\n--------\n\nYour feedback helps make Jetpack better. Let us know if you discover new issues or have\nideas for improving this library. Please take a look at the\n[existing issues](https://issuetracker.google.com/issues?q=componentid:1225213%20status:open)\nin this library before you create a new one. You can add your vote to an existing issue by\nclicking the star button.\n\n[Create a new issue](https://issuetracker.google.com/issues/new?component=1225213&template=1720664)\n\nSee the [Issue Tracker documentation](https://developers.google.com/issue-tracker)\nfor more information.\n\nVersion 1.0\n-----------\n\n### Version 1.0.0\n\nJuly 2, 2025\n\n`androidx.javascriptengine:javascriptengine:1.0.0` is released with no notable changes since the last rc release. Version 1.0.0 contains [these commits](https://android.googlesource.com/platform/frameworks/support/+log/82c11d1adf6b4e2a93f8c52f42398ae45d6fe7ae..87de50e190d7e843166cedd9df75192e999fe84b/javascriptengine/javascriptengine).\n\n### Version 1.0.0-rc01\n\nMarch 26, 2025\n\n`androidx.javascriptengine:javascriptengine:1.0.0-rc01` is released with no notable changes since the last beta. Version 1.0.0-rc01 contains [these commits](https://android.googlesource.com/platform/frameworks/support/+log/e3ffd7948030a769c857b8c629e0079c54b730ad..82c11d1adf6b4e2a93f8c52f42398ae45d6fe7ae/javascriptengine/javascriptengine).\n\n### Version 1.0.0-beta01\n\nNovember 1, 2023\n\n`androidx.javascriptengine:javascriptengine:1.0.0-beta01` is released with no notable changes since hte last alpha. [Version 1.0.0-beta01 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/465c5c5b7a0d79793bddb26a695f67aba8ea2f7e..e3ffd7948030a769c857b8c629e0079c54b730ad/javascriptengine/javascriptengine)\n\n### Version 1.0.0-alpha07\n\nOctober 18, 2023\n\n`androidx.javascriptengine:javascriptengine:1.0.0-alpha07` is released. [Version 1.0.0-alpha07 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/1f7407d4293384a1b91bc142880e3525048b3443..465c5c5b7a0d79793bddb26a695f67aba8ea2f7e/javascriptengine/javascriptengine)\n\n**New Features**\n\n- New API introduced to allow apps to register callbacks to handle isolate crashes.\n\n**API Changes**\n\n- Rename `DEFAULT_MAX_HEAP_SIZE` to `AUTOMATIC_MAX_HEAP_SIZE`. ([I6d303](https://android-review.googlesource.com/#/q/I6d303f359434c90c338f0ded308356ee61f11ca3))\n- Rename `FileDescriptorIoException` to `DataInputException`. ([Iba4eb](https://android-review.googlesource.com/#/q/Iba4ebd392f3e4ca7c0a4831a1a76fa5635a78596))\n- Rename `DEFAULT_ISOLATE_HEAP_SIZE` to `DEFAULT_MAX_HEAP_SIZE`. ([Iaa16f](https://android-review.googlesource.com/#/q/Iaa16f8fc099012b135f13197fa8e4a012cd57f5f))\n- Remove non-functional console `getSource` and `getTrace` methods. ([I4b7a2](https://android-review.googlesource.com/#/q/I4b7a2102ee682e52f23b4ec54dbd5647038fb551))\n- Unhide `FileDescriptorIoException` ([Ic44e6](https://android-review.googlesource.com/#/q/Ic44e678260c450190fcac70d4ceb8886f667ea52))\n- Allow apps to register callbacks to handle isolate crashes. ([Iad25f](https://android-review.googlesource.com/#/q/Iad25f63f60fa8fc8be6d60af89e40c97ab2b469d))\n\n### Version 1.0.0-alpha06\n\nOctober 4, 2023\n\n`androidx.javascriptengine:javascriptengine:1.0.0-alpha06` is released. [Version 1.0.0-alpha06 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/a200cb82769634cecdb118ec4f0bfdf0b086e597..1f7407d4293384a1b91bc142880e3525048b3443/javascriptengine/javascriptengine)\n\n**New Features**\n\n- New API introduced to evaluate JavaScript from a `ParcelFileDescriptor/AssetFileDescriptor` without the need to convert the source into a String. `JavaScriptIsolate` class is made thread-safe.\n\n**API Changes**\n\n- Change `provideNamedData` to throw exception instead of returning false. ([I8909a](https://android-review.googlesource.com/#/q/I8909ad16dd777c5458855a86e817360d6a7f81d1))\n- Adding APIs for evaluating JavaScript through Afds and Pfds ([I03e3a](https://android-review.googlesource.com/#/q/I03e3a8e00a990e1205853e8d8e825f605c4ebbd4))\n- Make `MemoryLimitExceededException` and `SandboxDeadException` subclass `IsolateTerminatedException` ([Icf359](https://android-review.googlesource.com/#/q/Icf359de9cc83d63b376bf77b31c7873b04ba59dc))\n- Removing public facing API `evaluateJavaScriptAsync(@NonNull byte[] code)` ([I4b3ac](https://android-review.googlesource.com/#/q/I4b3ac9406ada38bb5845ec3e230e3d42013ae4f9))\n\n**Bug Fixes**\n\n- Make `JavaScriptIsolate` thread safe. ([Ib28e0](https://android-review.googlesource.com/#/q/Ib28e00f5b7744bb4557786246d588b9273a30596))\n\n### Version 1.0.0-alpha05\n\nApril 5, 2023\n\n`androidx.javascriptengine:javascriptengine:1.0.0-alpha05` is released. [Version 1.0.0-alpha05 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/1ab1efa5be7608eac6f3d4ba7f0aae6df7df2f3e..a200cb82769634cecdb118ec4f0bfdf0b086e597/javascriptengine/javascriptengine)\n\n**API Changes**\n\n- Evaluation and result are no longer bound by Binder limits ([I13b1d](https://android-review.googlesource.com/#/q/I13b1d446c96925918ecd751243d8feb5d1f56faf))\n- Add callback for handling isolate console messages ([I11725](https://android-review.googlesource.com/#/q/I11725004167d148c3e3b001fd0799fb4f2030253), [Ic1c11](https://android-review.googlesource.com/#/q/Ic1c110e9f7fe9cb146bd711aebefb9505a473142))\n\n### Version 1.0.0-alpha04\n\nFebruary 22, 2023\n\n`androidx.javascriptengine:javascriptengine:1.0.0-alpha04` is released. [Version 1.0.0-alpha04 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/4a2f5e696614339c1ac21f706c1a17c0285780e7..1ab1efa5be7608eac6f3d4ba7f0aae6df7df2f3e/javascriptengine/javascriptengine)\n\n**Bug Fixes**\n\n- Fixes a rare case of `NullPointerException` caused when the sandboxed process dies.\n\n### Version 1.0.0-alpha03\n\nDecember 7, 2022\n\n`androidx.javascriptengine:javascriptengine:1.0.0-alpha03` is released. [Version 1.0.0-alpha03 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/4586cf6e518f0c59410ef2b291e34ff9fdcff4e1..4a2f5e696614339c1ac21f706c1a17c0285780e7/javascriptengine/javascriptengine)\n\n**New Features**\n\n- Contain out of memory crashes to the responsible isolate instead of crashing the entire sandbox. Once the isolate goes out of memory, it cannot be used for further evaluation.\n- Currently, the resources that the isolate holds are not freed till the sandbox is closed. This resource freeing behavior might change in later versions of the library.\n\n**API Changes**\n\n- Throw `MemoryLimitExceededException` when an evaluation leads to isolate going out of memory.([I336ca](https://android-review.googlesource.com/#/q/I336cae281670ed2a75e57a67cb2103cc8a722147))\n\n### Version 1.0.0-alpha02\n\nOctober 5, 2022\n\n`androidx.javascriptengine:javascriptengine:1.0.0-alpha02` is released. [Version 1.0.0-alpha02 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/bea814b246f89ff7244e3c6b0648f0b57e47897c..4586cf6e518f0c59410ef2b291e34ff9fdcff4e1/javascriptengine/javascriptengine)\n\n**New Features**\n\n- Add `JavaScriptSandbox#isSupported` for checking whether the system supports JavaScript sandboxes.\n\n**API Changes**\n\n- Throw `SandboxUnsupportedException` when `JavaScriptSandbox` cannot be created due to lack of system support. ([I0dcd6](https://android-review.googlesource.com/#/q/I0dcd6f577ce55fdede9cad8c3dfb48905169f8e5))\n\n### Version 1.0.0-alpha01\n\nAugust 10, 2022\n\n`androidx.javascriptengine:javascriptengine:1.0.0-alpha01` is released. [Version 1.0.0-alpha01 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/bea814b246f89ff7244e3c6b0648f0b57e47897c/javascriptengine/javascriptengine)\n\n**New Features**\n\n- We've added experimental support for `JavaScriptSandbox` and `JavaScriptIsolate` to enable clients to evaluate JavaScript in a safe and restricted environment. This is an area of active development; the APIs are subject to change without notice.\n\n- Please file feature requests and bugs our [JavascriptEngine component](https://issuetracker.google.com/issues/new?component=1225213&template=1720664)!"]]