JavascriptEngine

  
הפעלת האפשרות להערכת JavaScript באפליקציית Android.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
‫11 במרץ 2026 1.0.0 - - ‎1.1.0-alpha01

הצהרה על יחסי תלות

כדי להוסיף תלות ב-JavascriptEngine, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.

אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:

מגניב

dependencies {
    implementation "androidx.javascriptengine:javascriptengine:1.1.0-alpha01"
}

Kotlin

dependencies {
    implementation("androidx.javascriptengine:javascriptengine:1.1.0-alpha01")
}

מידע נוסף זמין במאמר הוספת יחסי תלות ב-build.

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.

יצירת דיווח על בעיה חדשה

מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.

גרסה 1.1

גרסה ‎1.1.0-alpha01

‫11 במרץ 2026

androidx.javascriptengine:javascriptengine:1.1.0-alpha01 מופץ. גרסה ‎1.1.0-alpha01 מכילה את השמירות האלה.

תיקוני באגים

  • הספריות מועברות לשימוש ביעד Java 11. המשמעות היא שבייטקוד (bytecode) שנוצר יהיה Java 11 (גרסה 55 של קובץ המחלקה) ויכול להיות שיהיה צורך בתהליך הסרה של סוכר תחבירי כדי להשתמש בספרייה (If4c2a, ‏ b/457821470)
  • הספרייה הזו משתמשת עכשיו באנוטציות של JSpecify לגבי ערכי null, שהן אנוטציות של שימוש בטיפוסים. מפתחי Kotlin צריכים להשתמש בארגומנט הקומפיילר הבא כדי לאכוף שימוש נכון: -Xjspecify-annotations=strict (זו ברירת המחדל החל מגרסה 2.1.0 של קומפיילר Kotlin) (Ieee48, ‏ b/326456246)

גירסה 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)
  • מאפשר לאפליקציות לרשום קריאות חוזרות (callback) לטיפול בקריסות של בידודים. (Iad25f)

גרסה ‎1.0.0-alpha06

‫4 באוקטובר 2023

androidx.javascriptengine:javascriptengine:1.0.0-alpha06 מופץ. גרסה ‎1.0.0-alpha06 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו API חדש להערכת JavaScript מ-ParcelFileDescriptor/AssetFileDescriptor בלי להמיר את המקור למחרוזת. הכיתה JavaScriptIsolate היא thread-safe.

שינויים ב-API

  • משנים את provideNamedData כדי להקפיץ הודעת שגיאה (throw) במקום להחזיר FALSE. (I8909a)
  • הוספת ממשקי API להערכת JavaScript דרך Afds ו-Pfds (I03e3a)
  • יצירת מחלקת משנה MemoryLimitExceededException ו-SandboxDeadException של 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)
  • הוספת קריאה חוזרת לטיפול בהודעות במסוף מבודד (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.