JavascriptEngine
最近更新时间 | 稳定版 | 候选版 | 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") }
如需详细了解依赖项,请参阅添加 build 依赖项。
反馈
您的反馈将帮助我们改进 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) - 移除了无效的控制台
getSource
和getTrace
方法。(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) - 添加了用于通过 Afd 和 Pfd 评估 JavaScript 的 API (I03e3a)
- 将
MemoryLimitExceededException
和SandboxDeadException
子类设为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 中包含这些提交内容。
API 变更
版本 1.0.0-alpha04
2023 年 2 月 22 日
发布了 androidx.javascriptengine:javascriptengine:1.0.0-alpha04
。版本 1.0.0-alpha04 中包含这些提交内容。
bug 修复
- 修复了沙盒化进程终止时导致的极少数
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 中包含这些提交内容。
新功能
我们添加了对
JavaScriptSandbox
和JavaScriptIsolate
的实验性支持,使客户端能够在安全且受限的环境中评估 JavaScript。该领域正处于积极开发中;这些 API 随时可能发生更改,恕不另行通知。请提交功能请求并报告 JavascriptEngine 组件 bug!