컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
JavascriptEngine
자바스크립트를 평가하도록 Android 앱을 사용 설정합니다.
최근 업데이트 |
안정화 버전 |
출시 후보 버전 |
베타 버전 |
알파 버전 |
2025년 7월 2일 |
1.0.0 |
- |
- |
- |
종속 항목 선언
JavascriptEngine의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle
파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies {
implementation "androidx.javascriptengine:javascriptengine:1.0.0"
}
Kotlin
dependencies {
implementation("androidx.javascriptengine:javascriptengine:1.0.0")
}
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
새로운 문제 제출하기
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.0
버전 1.0.0
2025년 7월 2일
androidx.javascriptengine:javascriptengine:1.0.0
은 마지막 rc 출시 이후 중요한 변경사항 없이 출시되었습니다. 버전 1.0.0에는 이 커밋이 포함되어 있습니다.
버전 1.0.0-rc01
2025년 3월 26일
androidx.javascriptengine:javascriptengine:1.0.0-rc01
이 지난 베타 이후 중요한 변경사항 없이 출시되었습니다. 버전 1.0.0-rc01에는 이 커밋이 포함되어 있습니다.
버전 1.0.0-beta01
2023년 11월 1일
androidx.javascriptengine:javascriptengine:1.0.0-beta01
이 마지막 알파 이후 중요한 변경사항 없이 출시되었습니다. 버전 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)
- 작동하지 않는 콘솔
getSource
및 getTrace
메서드 삭제 (I4b7a2)
FileDescriptorIoException
숨기기 해제 (Ic44e6)
- 앱이 콜백을 등록하여 격리된 비정상 종료를 처리하도록 허용 (Iad25f)
버전 1.0.0-alpha06
2023년 10월 4일
androidx.javascriptengine:javascriptengine:1.0.0-alpha06
이 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.
새로운 기능
- 소스를 문자열로 변환하지 않고
ParcelFileDescriptor/AssetFileDescriptor
에서 JavaScript를 평가하기 위해 새로운 API가 도입되었습니다.
JavaScriptIsolate
클래스가 스레드로부터 안전하게 만들어집니다.
API 변경사항
- false를 반환하는 대신 예외를 발생시키도록
provideNamedData
를 변경합니다. (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
를 추가합니다.
API 변경사항
- 시스템 지원 부족으로
JavaScriptSandbox
를 만들 수 없는 경우 SandboxUnsupportedException
이 발생합니다. (I0dcd6)
버전 1.0.0-alpha01
2022년 8월 10일
androidx.javascriptengine:javascriptengine:1.0.0-alpha01
이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# JavascriptEngine\n================\n\nAPI Reference \n[androidx.javascriptengine](/reference/kotlin/androidx/javascriptengine/package-summary) \nEnable your Android app to evaluate JavaScript. \n\n| Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release |\n|---------------|------------------------------------------------------------|-------------------|--------------|---------------|\n| July 2, 2025 | [1.0.0](/jetpack/androidx/releases/javascriptengine#1.0.0) | - | - | - |\n\nDeclaring dependencies\n----------------------\n\nTo add a dependency on JavascriptEngine, you must add the Google Maven repository to your\nproject. Read [Google's Maven repository](/studio/build/dependencies#google-maven)\nfor more information.\n\nAdd the dependencies for the artifacts you need in the `build.gradle` file for\nyour app or module: \n\n### Groovy\n\n```groovy\ndependencies {\n implementation \"androidx.javascriptengine:javascriptengine:1.0.0\"\n}\n```\n\n### Kotlin\n\n```kotlin\ndependencies {\n implementation(\"androidx.javascriptengine:javascriptengine:1.0.0\")\n}\n```\n\nFor more information about dependencies, see [Add build dependencies](/studio/build/dependencies).\n\nFeedback\n--------\n\nYour feedback helps make Jetpack better. Let us know if you discover new issues or have\nideas for improving this library. Please take a look at the\n[existing issues](https://issuetracker.google.com/issues?q=componentid:1225213%20status:open)\nin this library before you create a new one. You can add your vote to an existing issue by\nclicking the star button.\n\n[Create a new issue](https://issuetracker.google.com/issues/new?component=1225213&template=1720664)\n\nSee the [Issue Tracker documentation](https://developers.google.com/issue-tracker)\nfor more information.\n\nVersion 1.0\n-----------\n\n### Version 1.0.0\n\nJuly 2, 2025\n\n`androidx.javascriptengine:javascriptengine:1.0.0` is released with no notable changes since the last rc release. Version 1.0.0 contains [these commits](https://android.googlesource.com/platform/frameworks/support/+log/82c11d1adf6b4e2a93f8c52f42398ae45d6fe7ae..87de50e190d7e843166cedd9df75192e999fe84b/javascriptengine/javascriptengine).\n\n### Version 1.0.0-rc01\n\nMarch 26, 2025\n\n`androidx.javascriptengine:javascriptengine:1.0.0-rc01` is released with no notable changes since the last beta. Version 1.0.0-rc01 contains [these commits](https://android.googlesource.com/platform/frameworks/support/+log/e3ffd7948030a769c857b8c629e0079c54b730ad..82c11d1adf6b4e2a93f8c52f42398ae45d6fe7ae/javascriptengine/javascriptengine).\n\n### Version 1.0.0-beta01\n\nNovember 1, 2023\n\n`androidx.javascriptengine:javascriptengine:1.0.0-beta01` is released with no notable changes since hte last alpha. [Version 1.0.0-beta01 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/465c5c5b7a0d79793bddb26a695f67aba8ea2f7e..e3ffd7948030a769c857b8c629e0079c54b730ad/javascriptengine/javascriptengine)\n\n### Version 1.0.0-alpha07\n\nOctober 18, 2023\n\n`androidx.javascriptengine:javascriptengine:1.0.0-alpha07` is released. [Version 1.0.0-alpha07 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/1f7407d4293384a1b91bc142880e3525048b3443..465c5c5b7a0d79793bddb26a695f67aba8ea2f7e/javascriptengine/javascriptengine)\n\n**New Features**\n\n- New API introduced to allow apps to register callbacks to handle isolate crashes.\n\n**API Changes**\n\n- Rename `DEFAULT_MAX_HEAP_SIZE` to `AUTOMATIC_MAX_HEAP_SIZE`. ([I6d303](https://android-review.googlesource.com/#/q/I6d303f359434c90c338f0ded308356ee61f11ca3))\n- Rename `FileDescriptorIoException` to `DataInputException`. ([Iba4eb](https://android-review.googlesource.com/#/q/Iba4ebd392f3e4ca7c0a4831a1a76fa5635a78596))\n- Rename `DEFAULT_ISOLATE_HEAP_SIZE` to `DEFAULT_MAX_HEAP_SIZE`. ([Iaa16f](https://android-review.googlesource.com/#/q/Iaa16f8fc099012b135f13197fa8e4a012cd57f5f))\n- Remove non-functional console `getSource` and `getTrace` methods. ([I4b7a2](https://android-review.googlesource.com/#/q/I4b7a2102ee682e52f23b4ec54dbd5647038fb551))\n- Unhide `FileDescriptorIoException` ([Ic44e6](https://android-review.googlesource.com/#/q/Ic44e678260c450190fcac70d4ceb8886f667ea52))\n- Allow apps to register callbacks to handle isolate crashes. ([Iad25f](https://android-review.googlesource.com/#/q/Iad25f63f60fa8fc8be6d60af89e40c97ab2b469d))\n\n### Version 1.0.0-alpha06\n\nOctober 4, 2023\n\n`androidx.javascriptengine:javascriptengine:1.0.0-alpha06` is released. [Version 1.0.0-alpha06 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/a200cb82769634cecdb118ec4f0bfdf0b086e597..1f7407d4293384a1b91bc142880e3525048b3443/javascriptengine/javascriptengine)\n\n**New Features**\n\n- New API introduced to evaluate JavaScript from a `ParcelFileDescriptor/AssetFileDescriptor` without the need to convert the source into a String. `JavaScriptIsolate` class is made thread-safe.\n\n**API Changes**\n\n- Change `provideNamedData` to throw exception instead of returning false. ([I8909a](https://android-review.googlesource.com/#/q/I8909ad16dd777c5458855a86e817360d6a7f81d1))\n- Adding APIs for evaluating JavaScript through Afds and Pfds ([I03e3a](https://android-review.googlesource.com/#/q/I03e3a8e00a990e1205853e8d8e825f605c4ebbd4))\n- Make `MemoryLimitExceededException` and `SandboxDeadException` subclass `IsolateTerminatedException` ([Icf359](https://android-review.googlesource.com/#/q/Icf359de9cc83d63b376bf77b31c7873b04ba59dc))\n- Removing public facing API `evaluateJavaScriptAsync(@NonNull byte[] code)` ([I4b3ac](https://android-review.googlesource.com/#/q/I4b3ac9406ada38bb5845ec3e230e3d42013ae4f9))\n\n**Bug Fixes**\n\n- Make `JavaScriptIsolate` thread safe. ([Ib28e0](https://android-review.googlesource.com/#/q/Ib28e00f5b7744bb4557786246d588b9273a30596))\n\n### Version 1.0.0-alpha05\n\nApril 5, 2023\n\n`androidx.javascriptengine:javascriptengine:1.0.0-alpha05` is released. [Version 1.0.0-alpha05 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/1ab1efa5be7608eac6f3d4ba7f0aae6df7df2f3e..a200cb82769634cecdb118ec4f0bfdf0b086e597/javascriptengine/javascriptengine)\n\n**API Changes**\n\n- Evaluation and result are no longer bound by Binder limits ([I13b1d](https://android-review.googlesource.com/#/q/I13b1d446c96925918ecd751243d8feb5d1f56faf))\n- Add callback for handling isolate console messages ([I11725](https://android-review.googlesource.com/#/q/I11725004167d148c3e3b001fd0799fb4f2030253), [Ic1c11](https://android-review.googlesource.com/#/q/Ic1c110e9f7fe9cb146bd711aebefb9505a473142))\n\n### Version 1.0.0-alpha04\n\nFebruary 22, 2023\n\n`androidx.javascriptengine:javascriptengine:1.0.0-alpha04` is released. [Version 1.0.0-alpha04 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/4a2f5e696614339c1ac21f706c1a17c0285780e7..1ab1efa5be7608eac6f3d4ba7f0aae6df7df2f3e/javascriptengine/javascriptengine)\n\n**Bug Fixes**\n\n- Fixes a rare case of `NullPointerException` caused when the sandboxed process dies.\n\n### Version 1.0.0-alpha03\n\nDecember 7, 2022\n\n`androidx.javascriptengine:javascriptengine:1.0.0-alpha03` is released. [Version 1.0.0-alpha03 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/4586cf6e518f0c59410ef2b291e34ff9fdcff4e1..4a2f5e696614339c1ac21f706c1a17c0285780e7/javascriptengine/javascriptengine)\n\n**New Features**\n\n- Contain out of memory crashes to the responsible isolate instead of crashing the entire sandbox. Once the isolate goes out of memory, it cannot be used for further evaluation.\n- Currently, the resources that the isolate holds are not freed till the sandbox is closed. This resource freeing behavior might change in later versions of the library.\n\n**API Changes**\n\n- Throw `MemoryLimitExceededException` when an evaluation leads to isolate going out of memory.([I336ca](https://android-review.googlesource.com/#/q/I336cae281670ed2a75e57a67cb2103cc8a722147))\n\n### Version 1.0.0-alpha02\n\nOctober 5, 2022\n\n`androidx.javascriptengine:javascriptengine:1.0.0-alpha02` is released. [Version 1.0.0-alpha02 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/bea814b246f89ff7244e3c6b0648f0b57e47897c..4586cf6e518f0c59410ef2b291e34ff9fdcff4e1/javascriptengine/javascriptengine)\n\n**New Features**\n\n- Add `JavaScriptSandbox#isSupported` for checking whether the system supports JavaScript sandboxes.\n\n**API Changes**\n\n- Throw `SandboxUnsupportedException` when `JavaScriptSandbox` cannot be created due to lack of system support. ([I0dcd6](https://android-review.googlesource.com/#/q/I0dcd6f577ce55fdede9cad8c3dfb48905169f8e5))\n\n### Version 1.0.0-alpha01\n\nAugust 10, 2022\n\n`androidx.javascriptengine:javascriptengine:1.0.0-alpha01` is released. [Version 1.0.0-alpha01 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/bea814b246f89ff7244e3c6b0648f0b57e47897c/javascriptengine/javascriptengine)\n\n**New Features**\n\n- We've added experimental support for `JavaScriptSandbox` and `JavaScriptIsolate` to enable clients to evaluate JavaScript in a safe and restricted environment. This is an area of active development; the APIs are subject to change without notice.\n\n- Please file feature requests and bugs our [JavascriptEngine component](https://issuetracker.google.com/issues/new?component=1225213&template=1720664)!"]]