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") }
有关依赖项的更多信息,请参阅 添加构建依赖项。
反馈
您的反馈有助于改进 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) - 添加用于通过 Afds 和 Pfds 评估 JavaScript 的 API (I03e3a)
- 使
MemoryLimitExceededException
和SandboxDeadException
成为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 更改
版本 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 包含以下提交。
新功能
我们添加了对
JavaScriptSandbox
和JavaScriptIsolate
的实验性支持,以使客户端能够在安全且受限的环境中评估 JavaScript。这是一个积极开发的领域;API 可能会在未经通知的情况下发生更改。请将功能请求和错误提交到我们的 JavascriptEngine 组件!