JavascriptEngine

  
使您的 Android 应用能够评估 JavaScript。
最新更新 稳定版 候选版本 Beta 版 Alpha 版
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。如果您发现新的问题或有改进此库的想法,请告诉我们。在创建新的问题之前,请查看此库中现有问题。您可以通过单击星号按钮来为现有问题添加您的投票。

创建新问题

有关更多信息,请参阅问题跟踪器文档

版本 1.0

版本 1.0.0-beta01

2023年11月1日

已发布 androidx.javascriptengine:javascriptengine:1.0.0-beta01版本 1.0.0-beta01 包含这些提交。

  • 1.0.0-alpha07 以来没有变化

版本 1.0.0-alpha07

2023年10月18日

已发布 androidx.javascriptengine:javascriptengine:1.0.0-alpha07版本 1.0.0-alpha07 包含这些提交。

新功能

  • 引入了新的 API,允许应用注册回调以处理隔离区崩溃。

API 变更

  • DEFAULT_MAX_HEAP_SIZE 重命名为 AUTOMATIC_MAX_HEAP_SIZE。(I6d303
  • FileDescriptorIoException 重命名为 DataInputException。(Iba4eb
  • DEFAULT_ISOLATE_HEAP_SIZE 重命名为 DEFAULT_MAX_HEAP_SIZE。(Iaa16f
  • 删除了无功能的控制台 getSourcegetTrace 方法。(I4b7a2
  • 取消隐藏 FileDescriptorIoExceptionIc44e6
  • 允许应用注册回调以处理隔离区崩溃。(Iad25f

版本 1.0.0-alpha06

2023年10月4日

已发布 androidx.javascriptengine:javascriptengine:1.0.0-alpha06版本 1.0.0-alpha06 包含这些提交。

新功能

  • 引入了新的 API,用于从 ParcelFileDescriptor/AssetFileDescriptor 评估 JavaScript,而无需将源代码转换为字符串。JavaScriptIsolate 类变为线程安全的。

API 变更

  • provideNamedData 更改为抛出异常而不是返回 false。(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 包含这些提交。

API 变更

  • 评估和结果不再受 Binder 限制。(I13b1d
  • 添加了用于处理隔离区控制台消息的回调(I11725Ic1c11

版本 1.0.0-alpha04

2023年2月22日

已发布 androidx.javascriptengine:javascriptengine:1.0.0-alpha04版本 1.0.0-alpha04 包含这些提交。

错误修复

  • 修复了沙盒进程死亡时发生的罕见 NullPointerException

版本 1.0.0-alpha03

2022年12月7日

已发布 androidx.javascriptengine:javascriptengine:1.0.0-alpha03版本 1.0.0-alpha03 包含这些提交。

新功能

  • 将内存溢出崩溃限制在负责的隔离区内,而不是使整个沙盒崩溃。隔离区内存溢出后,无法用于进一步评估。
  • 目前,隔离区持有的资源在沙盒关闭之前不会被释放。此资源释放行为可能会在以后版本的库中发生更改。

API 变更

  • 当评估导致隔离区内存溢出时,抛出 MemoryLimitExceededException。(I336ca

版本 1.0.0-alpha02

2022年10月5日

已发布 androidx.javascriptengine:javascriptengine:1.0.0-alpha02版本 1.0.0-alpha02 包含这些提交。

新功能

  • 添加 JavaScriptSandbox#isSupported 用于检查系统是否支持 JavaScript 沙盒。

API 变更

  • 当由于缺乏系统支持而无法创建 JavaScriptSandbox 时,抛出 SandboxUnsupportedException。(I0dcd6

版本 1.0.0-alpha01

2022年8月10日

已发布 androidx.javascriptengine:javascriptengine:1.0.0-alpha01版本 1.0.0-alpha01 包含这些提交。

新功能

  • 我们添加了对 JavaScriptSandboxJavaScriptIsolate 的实验性支持,使客户端能够在安全和受限的环境中评估 JavaScript。这是一个积极开发的领域;API 可能会随时更改。

  • 请向我们的 JavascriptEngine 组件 提交功能请求和错误报告!