محرّك JavaScript
آخر تعديل | الإصدار المستقر | إصدار المرشح | الإصدار التجريبي | إصدار أولي |
---|---|---|---|---|
1 تشرين الثاني (نوفمبر) 2023 | - | - | الإصدار التجريبي 1.0.0-beta01 | - |
إعلان التبعيات
لإضافة تبعية على JavascriptEngine، يجب إضافة مستودع Google Maven إلى مشروعك. يمكنك الاطّلاع على مستودع Maven من Google للحصول على مزيد من المعلومات.
أضِف التبعيات للعناصر التي تحتاجها في ملف build.gradle
لتطبيقك أو الوحدة:
رائع
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
1 تشرين الثاني (نوفمبر) 2023
تم إطلاق "androidx.javascriptengine:javascriptengine:1.0.0-beta01
". يحتوي الإصدار 1.0.0-beta01 على هذه الالتزامات.
- ما مِن تغييرات منذ
1.0.0-alpha07
الإصدار 1.0.0-alpha07
18 تشرين الأول (أكتوبر) 2023
تم إطلاق "androidx.javascriptengine:javascriptengine:1.0.0-alpha07
". يحتوي الإصدار 1.0.0-alpha07 على هذه الالتزامات.
الميزات الجديدة
- تم إدخال واجهة برمجة تطبيقات جديدة للسماح للتطبيقات بتسجيل عمليات معاودة الاتصال للتعامل مع الأعطال المعزولة.
تغييرات واجهة برمجة التطبيقات
- إعادة تسمية "
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 على هذه الالتزامات.
الميزات الجديدة
- تم إطلاق واجهة برمجة تطبيقات جديدة لتقييم JavaScript من
ParcelFileDescriptor/AssetFileDescriptor
بدون الحاجة إلى تحويل المصدر إلى سلسلة. تم استخدام صف واحد (JavaScriptIsolate
) آمن من سلاسل المحادثات.
تغييرات واجهة برمجة التطبيقات
- غيِّر
provideNamedData
لعرض استثناء بدلاً من عرض خطأ. (I8909a) - إضافة واجهات برمجة تطبيقات لتقييم JavaScript من خلال Afds وPfds (I03e3a)
- إنشاء الفئة الفرعية
MemoryLimitExceededException
وSandboxDeadException
IsolateTerminatedException
(Icf359) - إزالة واجهة برمجة التطبيقات
evaluateJavaScriptAsync(@NonNull byte[] code)
ذات الواجهة العامة (I4b3ac)
إصلاح الأخطاء
- عليك جعل
JavaScriptIsolate
سلسلة محادثات آمنة. (Ib28e0)
الإصدار 1.0.0-alpha05
5 نيسان (أبريل) 2023
تم إطلاق "androidx.javascriptengine:javascriptengine:1.0.0-alpha05
". يحتوي الإصدار 1.0.0-alpha05 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- لم يعُد التقييم والنتائج مرتبطة بحدود الصنف 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 على هذه الالتزامات.
الميزات الجديدة
- تحتوي على أعطال الذاكرة التي تم ضبطها على العزل المسؤول بدلاً من تعطُّل وضع الحماية بالكامل. وبعد خروج العزلة من الذاكرة، لا يمكن استخدامه لإجراء مزيد من التقييم.
- في الوقت الحالي، لا يتم تحرير الموارد التي يحتفظ بها العزل حتى يتم إغلاق وضع الحماية. قد يتغير سلوك تحرير الموارد هذا في الإصدارات اللاحقة من المكتبة.
تغييرات واجهة برمجة التطبيقات
- طرح
MemoryLimitExceededException
عندما يؤدي تقييم إلى عزل الخروج من الذاكرة.(I336ca)
الإصدار 1.0.0-alpha02
5 تشرين الأول (أكتوبر) 2022
تم إطلاق "androidx.javascriptengine:javascriptengine:1.0.0-alpha02
". يحتوي الإصدار 1.0.0-alpha02 على هذه الالتزامات.
الميزات الجديدة
- أضِف
JavaScriptSandbox#isSupported
للتحقق مما إذا كان النظام متوافقًا مع وضع حماية JavaScript.
تغييرات واجهة برمجة التطبيقات
- يمكنك طرح
SandboxUnsupportedException
عند تعذُّر إنشاءJavaScriptSandbox
بسبب عدم توفُّر توافق مع النظام. (I0dcd6)
الإصدار 1.0.0-alpha01
10 آب (أغسطس) 2022
تم إطلاق "androidx.javascriptengine:javascriptengine:1.0.0-alpha01
". يحتوي الإصدار 1.0.0-alpha01 على هذه الالتزامات.
الميزات الجديدة
لقد أضفنا دعمًا تجريبيًا لكل من
JavaScriptSandbox
وJavaScriptIsolate
لتمكين العملاء من تقييم JavaScript في بيئة آمنة ومحدودة. فهذا مجال من مجالات التطوير النشط؛ تخضع واجهات برمجة التطبيقات للتغيير بدون إشعار.يُرجى الإبلاغ عن طلبات الميزات والأخطاء في مكوِّن JavascriptEngine.