API 参考

  
最新更新
稳定版 发布候选版 Beta 版 Alpha 版 2025 年 3 月 26 日
1.0.0-rc01 - 声明依赖项 - -

要添加 JavascriptEngine 的依赖项,您必须将 Google Maven 仓库添加到您的项目。阅读 Google 的 Maven 仓库以获取更多信息。

在应用或模块的 build.gradle 文件中添加您所需工件的依赖项

Groovy

Kotlin

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

有关依赖项的更多信息,请参阅添加构建依赖项

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

反馈

您的反馈有助于改进 Jetpack。如果您发现新问题或有改进此库的建议,请告诉我们。在创建新问题之前,请查看此库中的现有问题。您可以通过点击星形按钮为您已有的问题投票。

创建新问题

如需了解更多信息,请参阅问题跟踪器文档

版本 1.0

版本 1.0.0-rc01

androidx.javascriptengine:javascriptengine:1.0.0-rc01 已发布,自上一个 beta 版以来无显著变化。版本 1.0.0-rc01 包含这些提交

1.0.0-rc01

版本 1.0.0-beta01

2023 年 11 月 1 日

androidx.javascriptengine:javascriptengine:1.0.0-beta01 已发布,自上一个 alpha 版以来无显著变化。版本 1.0.0-beta01 包含这些提交。

版本 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)
  • 取消隐藏 FileDescriptorIoException (Ic44e6)
  • 允许应用注册回调以处理隔离区崩溃。(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)

DEFAULT_MAX_HEAP_SIZE 重命名为 AUTOMATIC_MAX_HEAP_SIZE。(I6d303)

  • 添加通过 Afds 和 Pfds 评估 JavaScript 的 API (I03e3a)
  • 使 MemoryLimitExceededExceptionSandboxDeadException 成为 IsolateTerminatedException 的子类 (Icf359)
  • 移除公开 API evaluateJavaScriptAsync(@NonNull byte[] code) (I4b3ac)
  • Bug 修复

使 JavaScriptIsolate 线程安全。(Ib28e0)

  • 版本 1.0.0-alpha05

2023 年 4 月 5 日

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

评估和结果不再受 Binder 限制 (I13b1d)

DEFAULT_MAX_HEAP_SIZE 重命名为 AUTOMATIC_MAX_HEAP_SIZE。(I6d303)

  • 添加处理隔离区控制台消息的回调 (I11725, Ic1c11)
  • 版本 1.0.0-alpha04

2023 年 2 月 22 日

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

修复了沙盒进程终止时导致的罕见 NullPointerException

使 JavaScriptIsolate 线程安全。(Ib28e0)

  • 版本 1.0.0-alpha03

2022 年 12 月 7 日

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

将内存不足崩溃限制在负责的隔离区内,而不是使整个沙盒崩溃。一旦隔离区内存不足,就不能再用于进一步的评估。

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

  • 目前,隔离区持有的资源在沙盒关闭之前不会释放。此资源释放行为可能会在库的后续版本中更改。
  • 当评估导致隔离区内存不足时抛出 MemoryLimitExceededException。(I336ca)

DEFAULT_MAX_HEAP_SIZE 重命名为 AUTOMATIC_MAX_HEAP_SIZE。(I6d303)

  • 版本 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)

DEFAULT_MAX_HEAP_SIZE 重命名为 AUTOMATIC_MAX_HEAP_SIZE。(I6d303)

  • 版本 1.0.0-alpha01

2022 年 8 月 10 日

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

我们为 JavaScriptSandboxJavaScriptIsolate 添加了实验性支持,以使客户端能够在安全受限的环境中评估 JavaScript。这是一个活跃的开发领域;API 可能会在不另行通知的情况下更改。

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

  • 请在我们的 JavascriptEngine 组件中提交功能请求和错误!

  • 此页面上的内容和代码示例受 内容许可中描述的许可条款约束。Java 和 OpenJDK 是 Oracle 和/或其关联公司的商标或注册商标。