JavaScriptEngine

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

依存関係の宣言

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

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

Groovy

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

Kotlin

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

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

フィードバック

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

新しい問題を報告する

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

バージョン 1.0

バージョン 1.0.0-beta01

2023 年 11 月 1 日

androidx.javascriptengine:javascriptengine:1.0.0-beta01 がリリースされました。バージョン 1.0.0-beta01 に含まれる commit については、こちらをご覧ください

  • 1.0.0-alpha07 からの変更はありません

バージョン 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 の変更

  • false を返す代わりに例外をスローするように provideNamedData を変更しました。(I8909a
  • Afds と Pfds を使用して JavaScript を評価するための API を追加しました。(I03e3a
  • MemoryLimitExceededExceptionSandboxDeadException をサブクラス 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 の変更

  • 評価と結果が 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 コンポーネントから行ってください。