JavaScriptEngine

  
Android アプリで JavaScript を評価できるようにします。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2025 年 3 月 26 日 - 1.0.0-rc01 - -

依存関係の宣言

JavaScriptEngine への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。

アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。

Groovy

dependencies {
    implementation "androidx.javascriptengine:javascriptengine:1.0.0-rc01"
}

Kotlin

dependencies {
    implementation("androidx.javascriptengine:javascriptengine:1.0.0-rc01")
}

依存関係について詳しくは、ビルド依存関係の追加をご覧ください。

フィードバック

お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

バージョン 1.0

バージョン 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_SIZEAUTOMATIC_MAX_HEAP_SIZE に変更しました。(I6d303
  • FileDescriptorIoExceptionDataInputException に変更しました。(Iba4eb
  • DEFAULT_ISOLATE_HEAP_SIZEDEFAULT_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 については、こちらをご覧ください。

新機能

  • ソースを文字列に変換しなくても ParcelFileDescriptor/AssetFileDescriptor から JavaScript を評価できる新しい API が導入されました。JavaScriptIsolate クラスをスレッドセーフにしました。

API の変更

  • provideNamedData を変更して、false を返すのではなく例外をスローするようにしました。(I8909a
  • Afd と Pfd を介した JavaScript の評価用の API を追加しました。(I03e3a
  • MemoryLimitExceededExceptionSandboxDeadExceptionIsolateTerminatedException のサブクラスにしました。(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 の変更

  • 評価と結果が Binder の制限に縛られなくなりました。(I13b1d
  • 分離コンソール メッセージを処理するためのコールバックを追加しました(I11725Ic1c11

バージョン 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 については、こちらをご覧ください

新機能

  • JavaScriptSandboxJavaScriptIsolate に試験運用版のサポートを追加し、クライアントが制限付きの安全な環境で JavaScript を評価できるようにしました。これは現在も開発中の分野であり、API が予告なく変更される場合があります。

  • 機能のリクエストやバグ報告は JavaScriptEngine コンポーネントから行ってください。