קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
JavascriptEngine
הפעלת האפשרות לאפליקציית Android להעריך JavaScript.
העדכון האחרון |
גרסה יציבה |
גרסה מועמדת להפצה |
גרסת בטא |
גרסת אלפא |
2 ביולי 2025 |
1.0.0 |
- |
- |
- |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-JavascriptEngine, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.
מוסיפים את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle
של האפליקציה או המודול:
Groovy
dependencies {
implementation "androidx.javascriptengine:javascriptengine:1.0.0"
}
Kotlin
dependencies {
implementation("androidx.javascriptengine:javascriptengine:1.0.0")
}
מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ב-Build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לשמוע מכם אם תגלו בעיות חדשות או אם יש לכם רעיונות לשיפור הספרייה הזו. לפני שיוצרים ספרייה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להוסיף את ההצבעה שלכם לבעיה קיימת, לוחצים על לחצן הכוכב.
יצירת בעיה חדשה
מידע נוסף זמין במאמרי העזרה בנושא כלי המעקב אחר בעיות.
גירסה 1.0
גרסה 1.0.0
2 ביולי 2025
androidx.javascriptengine:javascriptengine:1.0.0
יוצא ללא שינויים משמעותיים מאז גרסת ה-rc האחרונה. גרסה 1.0.0 מכילה את הקומטים האלה.
גרסה 1.0.0-rc01
26 במרץ 2025
הגרסה androidx.javascriptengine:javascriptengine:1.0.0-rc01
הושקה ללא שינויים משמעותיים מאז גרסת הבטא האחרונה. גרסה 1.0.0-rc01 מכילה את הקומטים האלה.
גרסה 1.0.0-beta01
1 בנובמבר 2023
הגרסה androidx.javascriptengine:javascriptengine:1.0.0-beta01
יוצאת ללא שינויים משמעותיים מאז גרסת האלפא האחרונה. גרסה 1.0.0-beta01 מכילה את הקומיטים האלה.
גרסה 1.0.0-alpha07
18 באוקטובר 2023
androidx.javascriptengine:javascriptengine:1.0.0-alpha07
משוחרר. גרסה 1.0.0-alpha07 מכילה את הקומיטים האלה.
תכונות חדשות
- הוספנו API חדש שמאפשר לאפליקציות לרשום קריאות חוזרות (callback) לטיפול בקריסות של בידודים.
שינויים ב-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
4 באוקטובר 2023
androidx.javascriptengine:javascriptengine:1.0.0-alpha06
משוחרר. גרסה 1.0.0-alpha06 מכילה את הקומיטים האלה.
תכונות חדשות
- הוספנו API חדש להערכת JavaScript מ-
ParcelFileDescriptor/AssetFileDescriptor
בלי להמיר את המקור למחרוזת.
הכיתה JavaScriptIsolate
מוגנת מפני תקלות שנובעות משימוש בכמה תהליכים בו-זמנית.
שינויים ב-API
- מחליפים את הערך ב-
provideNamedData
כדי להפעיל חריג במקום להחזיר false. (I8909a)
- הוספת ממשקי API להערכת JavaScript דרך Afds ו-Pfds (I03e3a)
- Make
MemoryLimitExceededException
and SandboxDeadException
subclass IsolateTerminatedException
(Icf359)
- הסרה של API שפונה לציבור
evaluateJavaScriptAsync(@NonNull byte[] code)
(I4b3ac)
תיקוני באגים
- הפיכת
JavaScriptIsolate
ל-thread safe. (Ib28e0)
גרסה 1.0.0-alpha05
5 באפריל 2023
androidx.javascriptengine:javascriptengine:1.0.0-alpha05
משוחרר. גרסה 1.0.0-alpha05 מכילה את הקומיטים האלה.
שינויים ב-API
- ההערכה והתוצאה כבר לא מוגבלות על ידי מגבלות Binder (I13b1d)
- הוספת callback לטיפול בהודעות במסוף של בידוד (I11725, Ic1c11)
גרסה 1.0.0-alpha04
22 בפברואר 2023
androidx.javascriptengine:javascriptengine:1.0.0-alpha04
משוחרר. גרסה 1.0.0-alpha04 מכילה את הקומיטים האלה.
תיקוני באגים
- תוקן מקרה נדיר של
NullPointerException
שנגרם כשתהליך הארגז מת.
גרסה 1.0.0-alpha03
7 בדצמבר 2022
androidx.javascriptengine:javascriptengine:1.0.0-alpha03
משוחרר. גרסה 1.0.0-alpha03 מכילה את הקומיטים האלה.
תכונות חדשות
- למנוע קריסות של חוסר זיכרון בבידוד האחראי במקום לגרום לקריסה של כל ארגז החול. אחרי שהבידוד יוצא מהזיכרון, אי אפשר להשתמש בו להערכה נוספת.
- בשלב הזה, המשאבים שהבידוד מכיל לא משוחררים עד שארגז החול נסגר. התנהגות השחרור של המשאבים עשויה להשתנות בגרסאות מאוחרות יותר של הספרייה.
שינויים ב-API
- הפונקציה מחזירה
MemoryLimitExceededException
כשתוצאת ההערכה היא שהבידוד חורג מהזיכרון.(I336ca)
גרסה 1.0.0-alpha02
5 באוקטובר 2022
androidx.javascriptengine:javascriptengine:1.0.0-alpha02
משוחרר. גרסה 1.0.0-alpha02 מכילה את הקומיטים האלה.
תכונות חדשות
- מוסיפים
JavaScriptSandbox#isSupported
כדי לבדוק אם המערכת תומכת בארגזי חול של JavaScript.
שינויים ב-API
- הפונקציה מחזירה
SandboxUnsupportedException
אם אי אפשר ליצור את JavaScriptSandbox
בגלל חוסר תמיכה במערכת. (I0dcd6)
גרסה 1.0.0-alpha01
10 באוגוסט 2022
androidx.javascriptengine:javascriptengine:1.0.0-alpha01
משוחרר. גרסה 1.0.0-alpha01 מכילה את הקומיטים האלה.
תכונות חדשות
הוספנו תמיכה ניסיונית ב-JavaScriptSandbox
וב-JavaScriptIsolate
כדי לאפשר ללקוחות להעריך JavaScript בסביבה בטוחה ומוגבלת. התחום הזה נמצא בפיתוח פעיל, וממשקי ה-API עשויים להשתנות ללא הודעה מוקדמת.
מומלץ לשלוח בקשות להוספת תכונות ודיווחים על באגים ברכיב JavascriptEngine.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת 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)!"]]