موتور جاوا اسکریپت

برنامه اندروید خود را برای ارزیابی جاوا اسکریپت فعال کنید.
آخرین به‌روزرسانی انتشار پایدار کاندیدای انتشار انتشار بتا انتشار آلفا
۱۱ مارس ۲۰۲۶ ۱.۰.۰ - - ۱.۱.۰-آلفا۰۱

اعلام وابستگی‌ها

برای افزودن یک وابستگی به JavascriptEngine، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Google's Maven را مطالعه کنید.

وابستگی‌های مربوط به مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

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

کاتلین

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

برای اطلاعات بیشتر در مورد وابستگی‌ها، به «افزودن وابستگی‌های ساخت» مراجعه کنید.

بازخورد

بازخورد شما به بهبود Jetpack کمک می‌کند. اگر مشکلات جدیدی کشف کردید یا ایده‌هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. می‌توانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.

ایجاد یک مسئله جدید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه ۱.۱

نسخه ۱.۱.۰-آلفا۰۱

۱۱ مارس ۲۰۲۶

androidx.javascriptengine:javascriptengine:1.1.0-alpha01 منتشر شد. نسخه 1.1.0-alpha01 شامل این کامیت‌ها است.

رفع اشکالات

  • کتابخانه‌ها را به سمت استفاده از نسخه هدف جاوا ۱۱ سوق می‌دهد. این یعنی بایت‌کد تولید شده جاوا ۱۱ (فایل کلاس نسخه ۵۵) خواهد بود و ممکن است برای استفاده از کتابخانه نیاز به desugaring داشته باشد ( If4c2a ، b/457821470 )
  • این کتابخانه اکنون از حاشیه‌نویسی‌های nullness از نوع JSpecify استفاده می‌کند که از نوع استفاده می‌کنند. توسعه‌دهندگان کاتلین باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند: -Xjspecify-annotations=strict (این پیش‌فرض است که از نسخه 2.1.0 کامپایلر کاتلین شروع می‌شود) ( Ieee48 ، b/326456246 )

نسخه ۱.۰

نسخه ۱.۰.۰

۲ ژوئیه ۲۰۲۵

androidx.javascriptengine:javascriptengine:1.0.0 بدون هیچ تغییر قابل توجهی از آخرین نسخه rc منتشر شده است. نسخه 1.0.0 شامل این کامیت‌ها است.

نسخه ۱.۰.۰-rc01

۲۶ مارس ۲۰۲۵

androidx.javascriptengine:javascriptengine:1.0.0-rc01 بدون هیچ تغییر قابل توجهی از آخرین نسخه بتا منتشر شده است. نسخه 1.0.0-rc01 شامل این کامیت‌ها است.

نسخه ۱.۰.۰-بتا۰۱

۱ نوامبر ۲۰۲۳

androidx.javascriptengine:javascriptengine:1.0.0-beta01 بدون هیچ تغییر قابل توجهی از آخرین نسخه آلفا منتشر شده است. نسخه 1.0.0-beta01 شامل این کامیت‌ها است.

نسخه ۱.۰.۰-آلفا۰۷

۱۸ اکتبر ۲۰۲۳

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 )

نسخه ۱.۰.۰-alpha06

۴ اکتبر ۲۰۲۳

androidx.javascriptengine:javascriptengine:1.0.0-alpha06 منتشر شد. نسخه 1.0.0-alpha06 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • API جدیدی برای ارزیابی جاوا اسکریپت از ParcelFileDescriptor/AssetFileDescriptor بدون نیاز به تبدیل منبع به String معرفی شده است. کلاس JavaScriptIsolate از نظر thread-safe است.

تغییرات API

  • تغییر دادن provideNamedData به گونه‌ای که به جای برگرداندن مقدار false، استثنا ایجاد کند. ( I8909a )
  • افزودن API برای ارزیابی جاوا اسکریپت از طریق Afds و Pfds ( I03e3a )
  • MemoryLimitExceededException و SandboxDeadException زیرکلاس IsolateTerminatedException ( Icf359 ) بسازید.
  • حذف API عمومی evaluateJavaScriptAsync(@NonNull byte[] code) ( I4b3ac )

رفع اشکالات

  • ایمن‌سازی نخ JavaScriptIsolate . ( Ib28e0 )

نسخه ۱.۰.۰-آلفا۰۵

۵ آوریل ۲۰۲۳

androidx.javascriptengine:javascriptengine:1.0.0-alpha05 منتشر شد. نسخه 1.0.0-alpha05 شامل این کامیت‌ها است.

تغییرات API

  • ارزیابی و نتیجه دیگر محدود به محدودیت‌های Binder نیستند ( I13b1d )
  • اضافه کردن فراخوانی برای مدیریت پیام‌های کنسول ایزوله ( I11725 ، Ic1c11 )

نسخه ۱.۰.۰-آلفا۰۴

۲۲ فوریه ۲۰۲۳

androidx.javascriptengine:javascriptengine:1.0.0-alpha04 منتشر شد. نسخه 1.0.0-alpha04 شامل این کامیت‌ها است.

رفع اشکالات

  • یک مورد نادر از NullPointerException که هنگام از کار افتادن فرآیند sandboxed ایجاد می‌شد، برطرف شد.

نسخه ۱.۰.۰-آلفا۰۳

۷ دسامبر ۲۰۲۲

androidx.javascriptengine:javascriptengine:1.0.0-alpha03 منتشر شد. نسخه 1.0.0-alpha03 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • به جای از کار انداختن کل سندباکس، تابع contain که حافظه‌اش تمام شده است، به ایزوله‌ی مسئول از کار می‌افتد. وقتی ایزوله از حافظه خارج شود، نمی‌توان از آن برای ارزیابی بیشتر استفاده کرد.
  • در حال حاضر، منابعی که ایزوله در اختیار دارد تا زمان بسته شدن جعبه شنی آزاد نمی‌شوند. این رفتار آزادسازی منابع ممکن است در نسخه‌های بعدی کتابخانه تغییر کند.

تغییرات API

  • وقتی ارزیابی منجر به پر شدن حافظه ایزوله می‌شود، MemoryLimitExceededException ایجاد می‌کند. ( I336ca )

نسخه ۱.۰.۰-آلفا۰۲

۵ اکتبر ۲۰۲۲

androidx.javascriptengine:javascriptengine:1.0.0-alpha02 منتشر شد. نسخه 1.0.0-alpha02 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • برای بررسی اینکه آیا سیستم از سندباکس‌های جاوا اسکریپت پشتیبانی می‌کند یا خیر JavaScriptSandbox#isSupported را اضافه کنید.

تغییرات API

  • وقتی به دلیل عدم پشتیبانی سیستم، امکان ایجاد JavaScriptSandbox وجود ندارد، خطای SandboxUnsupportedException را ایجاد کنید ( I0dcd6 )

نسخه ۱.۰.۰-آلفا۰۱

۱۰ آگوست ۲۰۲۲

androidx.javascriptengine:javascriptengine:1.0.0-alpha01 منتشر شد. نسخه 1.0.0-alpha01 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • ما پشتیبانی آزمایشی برای JavaScriptSandbox و JavaScriptIsolate اضافه کرده‌ایم تا کلاینت‌ها بتوانند جاوا اسکریپت را در یک محیط امن و محدود ارزیابی کنند. این یک حوزه توسعه فعال است؛ APIها بدون اطلاع قبلی قابل تغییر هستند.

  • لطفا درخواست‌های مربوط به ویژگی‌ها و اشکالات کامپوننت JavascriptEngine ما را ثبت کنید!