Files
AutoJs6/.readme/README-ar.md
2026-03-14 22:36:27 +08:00

86 KiB
Raw Blame History

autojs6-banner_800×224

أداة أتمتة JavaScript لنظام Android مدعومة بخدمة الوصول

GitHub release (latest by date) GitHub closed issues Created
Android Studio IntelliJ IDEA
Rhino JetBrains supporter GitHub License


اللغات


ملف README.md الحالي يدعم اللغات التالية:


المقدمة


Auto.js هو برنامج أتمتة JavaScript مدعوم على منصة Android مع خدمة الوصول.

تم إصدار Auto.js لأول مرة بواسطة hyb1996 في 2017/01/27، وتوقف الصيانة في 2020/03/13، وكان الإصدار الأخير هو 4.1.1 Alpha2 ورقم البنية 461.

تم تطوير AutoJs6 استنادًا إلى المشروع النهائي لـ Auto.js في 2021/12/01، ويستمر في أن يكون مفتوح المصدر ومجاني.

الجدول أدناه يضم بعض المشاريع ذات الصلة بـ Auto.js (مرتبة حسب تاريخ التطوير):

المشروع اسم التطبيق المطورون الرئيسيون تاريخ بداية التطوير تاريخ نهاية التطوير فترة الصيانة النشطة (سنة)
Auto.js Auto.js hyb1996 2017/01/27 2020/03/13 3.13
Auto.js Pro 7 Auto.js hyb1996 2019/03/13 2019/07/08 0.32
Auto.js Pro 8 AutoJsPro hyb1996 2019/10/13 2021/07/24 1.78
Auto.js Auto.js M TonyJiangWJ 2019/11/21 - < 6.32 >
AutoX Autox.js kkevsekk1 2020/07/24 [ 2025/01/07 ] 4.46
Auto.js Pro 9 AutoJsPro hyb1996 2021/03/28 2023/02/09 1.87
AutoJs6 AutoJs6 SuperMonster003 2021/12/01 - < 4.28 >
autojs4 Auto.js blackcd318 2021/12/15 2023/07/31 1.62
AutoX Autox.js v6 wilinz / aiselp 2022/05/26 [ 2025/01/07 ] 2.62
openautojs OpenAuto.js openautojs 2023/02/17 2023/04/16 0.16
AutoJs4 AutoJs4 SuperMonster003 2023/04/11 - < 2.93 >
AutoX Autox.js v7 aiselp 2024/04/21 - < 1.90 >
Autoxjs_v6_ozobi Autox.js v6_ozobi ozobiozobi 2024/10/01 - < 1.45 >
AutoX Autox.js v6 autox-community 2025/03/30 - < 0.96 >

التواريخ في الجدول هي تقديرات وقد تختلف عن الواقع.

في الجدول، تعد إصدارات Auto.js Pro 7/8/9 مدفوعة، والبقية مفتوحة المصدر ومجانية.

في الجدول، تشير البيانات في العمود تاريخ نهاية التطوير التي تحتوي على أقواس مربعة ([]) إلى أن مشروع المصدر المفتوح غير متاح مؤقتًا.

في الجدول، يتم احتساب البيانات في العمود فترة الصيانة النشطة التي تحتوي على أقواس زاوية (<>) حتى 14 March 2026.


الوظائف


  • يمكن استخدامه كبيئة تطوير تكاملية (IDE) لـ JavaScript (إكمال الكود / إعادة تسمية المتغيرات / تنسيق الكود)
  • دعم تشغيل الأتمتة باستناد إلى خدمة الوصول
  • دعم الإجراءات السريعة لزر الطفو (تسجيل وتشغيل السكربت / عرض حزمة النشاط / تحليل التخطيط)
  • دعم واجهة برمجة التطبيقات الخاصة بالموصل وتوفير التصفح/استرجاع المعلومات/تشغيل الموصلات (مشابه لـ UiAutomator)
  • دعم تحليل واجهة التخطيط (مشابه لـ LayoutInspector في Android Studio)
  • دعم ميزة التسجيل وتشغيل التسجيل
  • دعم لقطة الشاشة/حفظ لقطة الشاشة/البحث عن اللون في الصورة/مطابقة الصورة
  • دعم كتابة الواجهة باستخدام E4X (ECMAScript for XML)
  • دعم تجميع ملفات أو مشاريع السكربت إلى ملفات APK
  • دعم توسيع الميزات باستخدام صلاحيات الروت (النقر, السحب, التسجيل, أوامر shell)
  • دعم الاستخدام كمكون إضافي لـ Tasker
  • دعم الاتصال بـ VSCode وتطوير سطح المكتب (تحتاج إلى المكون الإضافي AutoJs6-VSCode-Extension)

البيئة


  • نظام تشغيل Android
  • API 24 (7.0) [N] وما بعده

الدليل



التغييرات الرئيسية


مقارنةً بالإصدار النهائي المفتوح المصدر لـ Auto.js 4.1.1 Alpha2، فإن AutoJs6 قد أجرت التحديثات أو التغييرات الرئيسية التالية:

  • دعم امتيازات ADB باستخدام Shizuku واستخدام واجهة برمجة التطبيقات للنظام
  • دعم بناء مثيلات WebSocket لإرسال طلبات الشبكة استنادًا إلى بروتوكول WebSocket
  • وحدات جديدة [ base64 / crypto / sqlite / i18n / notice / ocr / opencc / qrcode / shizuku / ... ]
  • دعم التكيف متعدد اللغات [ الإسبانية / الفرنسية / الروسية / العربية / اليابانية / الكورية / الإنجليزية / الصينية المبسطة / الصينية التقليدية / ... ]
  • تكييف ألوان الموضوع [ التجميع / الموقع / البحث / السجل / التكييف التلقائي للسطوع والتباين / ... ]
  • دعم وضع الليل [ صفحة الإعدادات / صفحة الوثائق / صفحة تحليل التخطيط / النافذة العائمة / ... ]
  • دعم الاتصال بـ المكون الإضافي لـ VSCode بطرق الاتصال عبر الشبكة المحلية (LAN) و ADB
  • تم ترقية محرك Rhino من v1.7.7.2 إلى v2.0.0-SNAPSHOT (تم التحديث في 25 December 2025)

سجل الإصدارات


v6.7.0

2026/03/14
  • إضافة جديدة ميزة مركز الاضافات, تدعم تثبيت/الغاء تثبيت/تحديث الاضافات وغيرها من العمليات (المدخل: زر درج الصفحة الرئيسية/تبويب الصفحة الرئيسية)
  • إضافة جديدة ميزة سجل الاصدارات, تدعم عرض/استعادة الاصدارات السابقة للملفات القابلة للتحرير (المدخل: زر درج الصفحة الرئيسية/قائمة مدير الملفات/قائمة محرر الشفرة)
  • إضافة جديدة ميزة سلة المحذوفات, تدعم عرض/استعادة الملفات/المجلدات المحذوفة (المدخل: زر درج الصفحة الرئيسية)
  • إضافة جديدة اضافة Paddle OCR (PP-OCRv5), للتعرف الضوئي على الحروف
  • إضافة جديدة وحدة cvt, لتحويل وحدات البيانات (راجع وثائق المشروع > تحويل الوحدات)
  • إضافة جديدة وحدة fmt, لتنسيق البيانات (راجع وثائق المشروع > التنسيق)
  • إضافة جديدة وحدة zip, لعمليات ضغط الملفات وفك ضغطها (Ref to Auto.js Pro) (راجع وثائق المشروع > Zip)
  • إضافة جديدة وحدة mediainfo, لعرض المعلومات التفصيلية لملفات الوسائط (راجع وثائق المشروع > معلومات الوسائط)
  • إضافة جديدة الطريقة cvt.bytes, لتحويل وحدات بيانات البايتات (راجع وثائق المشروع > تحويل الوحدات)
  • إضافة جديدة الطريقة fmt.bytes, لتنسيق بيانات البايتات (راجع وثائق المشروع > التنسيق)
  • إضافة جديدة الطريقة s13n.bytes, لتوحيد بيانات البايتات (راجع وثائق المشروع > التوحيد)
  • إضافة جديدة الطريقة app.isDualInstalled, للتحقق مما اذا كان التطبيق المستنسخ مثبتا (يتطلب صلاحيات Shizuku او Root) issue #450
  • إضافة جديدة الطريقة device.getSharedDeviceId, للحصول على معرّف جهاز موحّد مشترك بين التطبيقات issue #455
  • إضافة جديدة الطريقة device.setPointerLocation وغيرها من طرق سلسلة Toggleable, لضبط او الحصول على خيار النظام الخاص بموقع المؤشر issue #381
  • إضافة جديدة الطريقة dialogs.build تدعم معاملات الخيار textAllCaps/(positive/negative/neutral)TextAllCaps, للتحكم فيما اذا كان نص الازرار يظهر بحروف كبيرة بالكامل
  • إضافة جديدة الطريقة images.loadAsync, للحصول على موارد الصور من الشبكة بشكل غير متزامن issue #327
  • إضافة جديدة الطريقة ui.getNavigationBarHeight/الخاصية navigationBarHeight (getter), للحصول على ارتفاع شريط التنقل issue #456
  • إضافة جديدة الطريقة ui.getVisible(Status/Navigation)BarHeight/الخاصية visible(Status/Navigation)BarHeight (getter), للحصول بسرعة على الارتفاع المرئي لشريط الحالة او شريط التنقل issue #456
  • إضافة جديدة الطرق http.put/del(ete)/head, لارسال طلبات الشبكة باستخدام طرق HTTP مختلفة
  • إضافة جديدة الطرق http.getAsync/postAsync/requestAsync وغيرها, لارسال طلبات الشبكة بشكل غير متزامن issue #423
  • إضافة جديدة كائن body الذي يتم الحصول عليه من الطرق المتعلقة بطلبات وحدة http تمت اضافة طرق مثل stream/saveToFile/close اليه issue #452
  • إضافة جديدة الطرق المتعلقة بطلبات وحدة http تدعم معاملات خيارات التحكم في التخزين المؤقت (cacheBody/bodyCacheThresholdBytes)
  • إضافة جديدة الطرق المتعلقة بطلبات وحدة http تدعم معاملات الخيارات غير الامنة (isInsecure/insecure), لتجاهل الاستثناءات المتعلقة بالشهادات issue #417
  • إضافة جديدة الطرق المتعلقة بطلبات وحدة http تدعم الخيار options.client, لتهيئة OkHttpClient.Builder (مثل followRedirects وغيرها) issue #454
  • إضافة جديدة الخاصية auto.state (getter) والخاصية shizuku.state (getter), للحصول على حالة خدمة امكانية الوصول وحالة خدمة Shizuku
  • إضافة جديدة الطرق runtime.(set/is)JavaPrimitiveWrap, لضبط او الحصول على استراتيجية تغليف الانواع البدائية في Java issue #435
  • إضافة جديدة الطرق autojs.(restart/exit), لاعادة تشغيل او الخروج من تطبيق AutoJs6, مع دعم تشغيل السكربت المحدد تلقائيا عند اعادة تشغيل التطبيق issue #460
  • إضافة جديدة الطريقة UiObject#isShifted, لاكتشاف تغير موضع العنصر issue #469
  • إضافة جديدة الطريقة UiObject#snapshot, لالتقاط الحالة الحالية للعنصر issue #469
  • إضافة جديدة الطريقة engines.myEngine().getStartTime(), للحصول على الطابع الزمني لبدء محرك السكربت issue #449
  • إضافة جديدة الطريقة العامة crash, لاختبار صفحة تقرير الانهيار
  • إضافة جديدة الطريقة العامة structuredClone, للنسخ العميق لكائنات JavaScript (راجع MDN)
  • إضافة جديدة سلسلة المحددات المتكافئة (UiSelector#id/text/...) وسلسلة المحددات المحتوية (UiSelector#xxxContains) تدعم معاملات التعبيرات النمطية
  • إضافة جديدة معاملات التعبيرات النمطية في المحددات تدعم العلامات (i, m, s, u)
  • إضافة جديدة التعبيرات النمطية تدعم صياغة lookbehind issue #464
  • إضافة جديدة تمت اضافة عنصري القائمة "نقل الى" و"نسخ الى" في مدير الملفات, مع دعم اجهاض العملية وعرض حالة التقدم
  • إضافة جديدة تمت اضافة عنصر القائمة "لوحة مفاتيح متعددة الوظائف" - "اعدادات الرموز" في محرر الشفرة, مع دعم تحرير الرموز وانشاء/استيراد/تصدير الرموز حسب مستوى الملف الشخصي
  • إضافة جديدة تمت اضافة اداة "موقع المؤشر" الى درج الصفحة الرئيسية
  • إضافة جديدة تمت اضافة مفتاح "صلاحية الوصول الى كل الملفات" الى درج الصفحة الرئيسية
  • إضافة جديدة تمت اضافة مفتاح "اظهار الواجهة من الخلفية" الى درج الصفحة الرئيسية (لاجهزة [Xiaomi/Vivo])
  • إضافة جديدة تمت اضافة خيار "تغليف الانواع البدائية في Java" الى صفحة الاعدادات issue #435
  • إضافة جديدة تمت اضافة خيار "محرك جدولة المهام" الى صفحة الاعدادات, مع دعم AlarmManager/WorkManager/JobScheduler issue #457 issue #434 issue #449 issue #388 issue #378 issue #163 issue #53 issue #21
  • إضافة جديدة تمت اضافة خيار "ايقونة مشغل التطبيق" الى صفحة الاعدادات, مع دعم الايقونات التكيفية/الايقونات ذات الخلفية الشفافة issue #405
  • إضافة جديدة تمت اضافة خيار "استراتيجية اعادة التشغيل" الى صفحة الاعدادات, لاعداد ما اذا كان زر اعادة التشغيل في درج الصفحة الرئيسية يستخدم استراتيجية اعادة التشغيل السريعة
  • إضافة جديدة تمت اضافة خيار "تاخير طلب اذن التقاط الشاشة" الى صفحة الاعدادات, لتجنب حجب نافذة طلب الاذن للشاشة
  • إضافة جديدة تمت اضافة خيار "الاضافات" الى اختصارات المشغل في صفحة الاعدادات, للانتقال الى صفحة مركز الاضافات عبر اختصار
  • إضافة جديدة التطبيقات المعبأة تدعم التشغيل التلقائي عند الاقلاع, مع اضافة مفتاح الى صفحة الاعداد
  • إضافة جديدة التطبيقات المعبأة تدعم اختصارات التطبيق (صفحة السجلات/صفحة الاعدادات)
  • إضافة جديدة تمت اضافة ازرار التراجع/الاعادة/الحفظ الى صفحة اعداد تغليف التطبيق
  • إضافة جديدة تمت اضافة آلية ملفات تعريف الى صفحة اعداد تغليف التطبيق, مع دعم انشاء/تعديل/حذف/استيراد/تصدير ملفات التعريف issue #483
  • إضافة جديدة اداة Scrapers (run-scrapers.mjs), لتحديث البيانات المهيكلة لنصوص بناء Gradle/البيانات العامة لـ README/بيانات قوالب README وغيرها تلقائيا
  • إضافة جديدة اداة Gradle Wrapper switcher (gradle-wrapper-switcher), للتبديل بين الاصدار الرئيسي المحلي لـ Gradle (مثل Gradle 8.x و Gradle 9.x)
  • تصليح خطأ في قيود عدد وانواع معاملات الطريقة notice issue #462
  • تصليح مشكلة تعذر معها استخدام الخاصية ui.R (getter) بشكل صحيح
  • تصليح مشكلة كان يمكن معها ان تفشل الاستثناءات الناتجة في معاملات callback الخاصة بالطريقة ui.post بشكل صامت
  • تصليح مشكلة كانت تجعل الطرق العامة مثل isJavaClass/isJavaPackage غير صالحة
  • تصليح مشكلة كانت تجعل المعامل timeout في الطريقة timers.keepAlive غير فعال
  • تصليح مشكلة كانت تجعل الطريقتين floaty.window/rawWindow لا تقبلان المعاملات النصية issue #467
  • تصليح مشكلة كانت تجعل floaty.rawWindow يعرض بعض العناصر بشكل غير طبيعي بسبب تمرير سياق غير صحيح
  • تصليح مشكلة كانت تجعل الطريقة util.isString غير صالحة
  • تصليح مشكلة كانت تجعل util.class[Name]/getClass[Name] قد تعيدان نتائج غير صحيحة
  • تصليح مشكلة كانت تجعل util.java.array غير قادر على استخدام معاملات الانواع مثل Boolean بشكل صحيح
  • تصليح مشكلة كان يمكن معها للكائن المعاد من threads.disposable() ان يخضع للتغليف بشكل غير متوقع عند الوصول الى البيانات issue #435
  • تصليح مشكلة كانت تجعل خيارات نمط نافذة السجل العائمة لا يعاد ضبطها بشكل صحيح عند استدعاء الطريقة console.build عدة مرات
  • تصليح مشكلة كانت تجعل خيارات (title/content)BackgroundColor في الطريقة console.build تطغى على خيارات الشفافية او التلوين issue #458
  • تصليح مشكلة كانت تجعل الطرق مثل console/toast تفقد الاصفار النهائية عند عرض Java Double
  • تصليح مشكلة كانت تجعل من غير الممكن استخدام الطرق مثل console/toast لعرض نوع البيانات BigInt
  • تصليح مشكلة كانت تجعل الطريقة toast قد تسبب تسربا في الذاكرة بسبب الاحتفاظ بمرجع قوي الى كائن Toast
  • تصليح مشكلة كان يمكن معها لبعض الكائنات العامة ان تفقد خصائص وطرق النموذج الاولي في JavaScript
  • تصليح مشكلة كان يمكن معها لكائن this ان يشير بشكل خاطئ عند استخدام تعبيرات JavaScript كقيم للسمات في صياغة XML
  • تصليح مشكلة كانت تجعل معامل الخيار linkify في الطريقة dialogs.build غير فعال
  • تصليح مشكلة كانت تجعل الطريقة dialogs.build قد تتلف البيانات الاصلية لمعلمات الكائن
  • تصليح حساب غير صحيح لمعدل الاطارات الداخلي في الطريقة setMaxFps لعنصر canvas
  • تصليح حساب غير صحيح لقيمة العرض عند الدمج العمودي باستخدام الطريقة images.concat
  • تصليح مشكلة كان يمكن معها ان يؤدي الغاء التفويض عند استدعاء الطريقة images.requestScreenCapture الى انهيار التطبيق
  • تصليح مشكلة كانت تجعل لقطات الشاشة التي يتم الحصول عليها من الطريقة images.captureScreen قد تحتوي على اتجاه خاطئ او حواف سوداء issue #337
  • تصليح مشكلة كان فيها يتم تفسير القيمة 1 على انها نسبة مئوية بالخطأ عند استخدام معاملات المنطقة في بعض طرق images
  • تصليح مشكلة كانت تجعل وظيفة العلامة oneShot غير فعالة عند حدوث استثناءات في بعض الطرق المتعلقة بـ images issue #372
  • تصليح مشكلة كانت تجعل بعض الطرق المتعلقة بـ images قد تسبب تسربا في الذاكرة issue #372
  • تصليح مشكلة كانت تجعل images.save والطريقة ImageWrapper#saveTo غير قادرتين على كتابة الملفات بشكل صحيح عندما لا يكون المسار المدخل موجودا
  • تصليح مشكلة كانت تجعل الطريقة ImageWrapper#recycle غير قادرة على اعادة تدوير موارد الصور بشكل صحيح
  • تصليح مشكلة كانت تجعل بعض الطرق المحملة زائدا في ocr قد لا تعمل بشكل صحيح
  • تصليح مشكلة كانت تجعل النتائج التي يتم الحصول عليها من الطريقة ocr.detect قد لا تتطابق مع ocr.mode issue #468
  • تصليح مشكلة كانت تجعل احداث خدمة امكانية الوصول المسجلة عبر auto.registerEvent يتم تنظيفها بالخطأ بواسطة سكربتات اخرى issue #466 issue #343
  • تصليح مشكلة كانت تجعل الطريقة UiObject#child قد ترمي استثناء ArrayIndexOutOfBoundsException على Android 10 issue #416
  • تصليح مشكلة كان يمكن معها ان تصبح سياقات Rhino غير متسقة عند استدعاء طرق الوحدات المدمجة
  • تصليح مشكلة كان يمكن معها ان تبقى نوافذ عائمة متبقية بعد انتهاء السكربت عند انشاء عدد كبير من النوافذ العائمة
  • تصليح مشكلة كانت تجعل معاملات اعداد project.json قد لا تُحلل بشكل صحيح عند تشغيل مشروع
  • تصليح مشكلة كان فيها يؤدي معامل excludedDirs في project.json الى فشل تحليل ملف الاعداد عند تغليف المشروع issue #428
  • تصليح مشكلة كانت تجعل ميزة التغليف قد لا تعمل بشكل صحيح على Android 7.x
  • تصليح مشكلة كان يمكن معها ان تتغير اسماء المفاتيح الاصلية عند حفظ ملف اعداد مشروع السكربت
  • تصليح مشكلة كان يمكن معها ان تؤدي القيم الكبيرة لرقم البناء او وقت البناء في ملف اعداد مشروع السكربت الى انهيار التطبيق
  • تصليح مشكلة كان يمكن معها ان يؤدي الحصول المتكرر على ImageReader او اعادة بنائه الى انهيار التطبيق بسبب عدم توفر اطار قابل للاستخدام مؤقتا في المخزن المؤقت
  • تصليح مشكلة كان يمكن معها ان يؤدي مراقب احداث الادخال InputEventObserver الى تباطؤ ملحوظ عند بدء التطبيق
  • تصليح مشكلة كانت تجعل عملية خدمة مستخدم Shizuku لا تنتهي بشكل صحيح مما يؤدي الى تراكم العمليات issue #474
  • تصليح مشكلة كانت تجعل التطبيقات المعبأة غير قادرة على استخدام ميزات Paddle OCR و Rapid OCR بشكل صحيح
  • تصليح مشكلة كان يمكن معها ان تتغير قيمة المفتاح key في ملف اعداد التطبيق المعبأ project.json بشكل غير متوقع
  • تصليح مشكلة كان يمكن معها ان يحدث وميض في ايقونات مربعات الاختيار عند تمرير قائمة "الاذونات المطلوبة" في صفحة اعداد تغليف التطبيق
  • تصليح مشكلة كانت تجعل بيانات الاحصاءات في صفحة سجل الاصدارات غير مكتملة على بعض الانظمة بسبب اختلاف الخطوط
  • تصليح مشكلة كانت تجعل MLKit Google OCR غير قادر على التهيئة بشكل صحيح على بعض الاجهزة (اصلاح تجريبي) issue #8
  • تصليح مشكلة كانت تجعل ازرار وظائف مدير الملفات غير قادرة على استقبال احداث النقر بشكل صحيح على بعض الاجهزة (اصلاح تجريبي) issue #465
  • تصليح مشكلة كانت تجعل الاسطر الفارغة في محرر الشفرة تعرض رموزا مربعة على بعض الاجهزة (اصلاح تجريبي)
  • تصليح مشكلة كانت تجعل لوحة المفاتيح البرمجية قد تحجب محتوى النص في محرر الشفرة
  • تصليح مشكلة كانت تجعل محرر الشفرة ما يزال يسمح بتحرير المحتوى في وضع القراءة فقط
  • تصليح مشكلة كانت تجعل النقر على منطقة العنوان وبعض عناصر القائمة في وضع القراءة فقط يؤدي الى انهيار التطبيق في محرر الشفرة
  • تصليح مشكلة كان يمكن معها ان يؤدي تحميل الملفات الكبيرة في محرر الشفرة الى انهيار التطبيق (اصلاح تجريبي)
  • تصليح تهيئة غير طبيعية لحالة ازرار الوظائف عند قيام محرر الشفرة بفتح ملف جديد تلقائيا
  • تصليح مشكلة كان يمكن معها ان يؤدي وضع التطبيق في الخلفية اثناء تحرير ملف في محرر الشفرة الى انهيار التطبيق
  • تصليح مشكلة كانت تجعل النقر على زر fx في محرر الشفرة على Android 15+ غير قادر على اظهار لوحة الاختصارات السريعة لوظائف الوحدات (اصلاح تجريبي)
  • تصليح مشكلة كانت تجعل ErrorDialogActivity غير قادر على البدء بشكل صحيح او يختفي تلقائيا خلال وقت قصير issue #479 issue #471 issue #414 issue #340
  • تصليح انواع معاملات غير صحيحة يقبلها الباني Canvas issue #402
  • تصليح مشكلة كانت تجعل وظيفة نسخ المعلومات التفصيلية في صفحة تقرير الانهيار غير فعالة
  • تصليح مشكلة كانت تجعل منطق الرجوع المخصص غير فعال على Android 16+ مما يؤدي الى سلوك غير طبيعي للرجوع
  • تصليح مشكلة كان يمكن معها ان ينهار التطبيق عند الضغط على زر الرجوع او تبديل علامات التبويب بعد عرض نتائج البحث في مدير الملفات
  • تصليح مشكلة كانت تجعل الواجهة لا تتحدث تلقائيا بعد حذف مجلد مشروع في مدير الملفات
  • تصليح مشكلة كان يمكن معها ان ينهار التطبيق عندما تتغير عناصر قائمة لوحة المهام بشكل متكرر
  • تصليح مشكلة كانت تجعل لون المقدمة لشريط التنقل قد يرتبط بوضع الليل بشكل غير طبيعي عند استخدام تنقل الايماءات "ثلاثة ازرار"
  • تصليح مشكلة كانت تجعل مربع حوار معلومات نوع ملف APK غير قادر على الحصول على اسم التطبيق ومعلومات SDK
  • تصليح مشكلة كان فيها, في وضع العميل, يؤدي قطع الاتصال ثم اعادة الاتصال خلال وقت قصير بعد الاتصال الى انتهاء مهلة المصافحة ويجعل اعادة الاتصال صعبة
  • تصليح مشكلة كان فيها, في وضع العميل, تؤدي عمليات مثل تدوير الشاشة او تبديل اللغة والتي تعيد انشاء Activity الى جعل AutoJs6 يعيد دائما بناء الاتصال
  • تصليح مشكلة كان فيها, في وضع الخادم, تؤدي عمليات مثل تدوير الشاشة او تبديل اللغة والتي تعيد انشاء Activity الى جعل وحدة تحكم VSCode غير قادرة على اخراج السجلات issue #385
  • تصليح مشكلة كان فيها الاتصال باضافة VSCode بعدة طرق في نفس الوقت يؤدي الى تضاعف عدد السجلات المطبوعة
  • تصليح مشكلة كان فيها توليد الشفرة في صفحة تحليل التخطيط قد يفشل بالنسبة لعناصر المجموعات (اصلاح تجريبي) issue #328
  • تصليح مشكلة كانت تجعل مفتاح "استخدام زر 'خفض الصوت' للتحكم في التسجيل" في صفحة الاعدادات غير فعال issue #480
  • تصليح مشكلة كان يمكن معها ان تكون قيم الاحداثيات في ملفات الشفرة الناتجة عن تسجيل السكربت غير متطابقة مع قيم بكسلات الشاشة الفعلية issue #480
  • تصليح مشكلة كانت تجعل اول عملية في ملف الشفرة الناتج عن تسجيل السكربت (مثل النقر او السحب) يتم تجاهلها دائما
  • تصليح مشكلة كان يمكن معها ان تؤدي معالجة الملفات في الخلفية من خلال مربع الحوار العائم "تشغيل السكربت" الى انهيار التطبيق
  • تصليح مشكلة كان يمكن معها ان يعاد ضبط حالة الزر العائم عند الدخول مجددا الى الصفحة الرئيسية بعد انتهاء دورة حياة Activity الرئيسية
  • تصليح مشكلة كانت تجعل مفتاح "الظهور فوق التطبيقات الاخرى" على اجهزة Xiaomi قد ينتقل الى صفحة اعدادات خاطئة
  • تصليح مشكلة كانت تجعل حزم بيانات الشبكة تستمر في الجلب في الخلفية حتى بعد اجهاض تنزيل التحديث (اصلاح تجريبي)
  • تصليح مشكلة كانت تجعل مهمة Rebuild Project غير قادرة على الاكتمال بشكل صحيح عند تفعيل خيار isCleanup[Paddle/Rapid]Ocr في ادوات البناء
  • تحسين توحيد ميزات Paddle OCR (PP-OCRv3) على شكل اضافات issue #334 issue #331 issue #325
  • تحسين تحسين توافق الطريقة runtime.loadJar (by LYS86) pr #475
  • تحسين تحسين توافق الطريقة ui.getStatusBarHeight/الخاصية statusBarHeight (getter) الى حد معين
  • تحسين الطرق مثل console.log تدعم عرض معلومات تفصيلية عند طباعة الكائنات العامة (images, app, ocr وغيرها)
  • تحسين الطريقة dialogs.build تدعم معاملات الخيارات الاصلية لـ MaterialDialog.Builder
  • تحسين الطريقة dialogs.build تدعم المطابقة النصية المرنة لمعلمات الخيار animation/linkify
  • تحسين تحسين الثبات والاتساق في الحصول على اتجاه الشاشة وبيانات العرض/الارتفاع بواسطة الطرق device.rotation/rotation/width/height
  • تحسين رفع كفاءة التنفيذ وتحسين التوافق للطرق مثل app.launchDual/startDualActivity
  • تحسين android.graphics.Paint#setColor يدعم تحليل معاملات الالوان مثل ColorInt/ColorHex/ColorName بشكل صحيح
  • تحسين رسائل الاستثناء الخاصة بانواع المعاملات في الطرق المتعلقة بالوحدات المدمجة تضيف معلومات موجزة عن النوع
  • تحسين الوحدات المدمجة (dayjs/cheerio/dayjs/i18n) تبتعد عن وضع تنفيذ السكربت وتستخدم التحميل الكسول العام بدلا منه
  • تحسين عند طباعة بيانات ضخمة عبر الطرق المتعلقة بوحدة التحكم, يتم حذف جزء من المحتوى بشكل مناسب وفقا للحدود العليا لتقليل وقت الطباعة
  • تحسين تمت زيادة القيمة الابتدائية للعد التنازلي لنافذة وحدة التحكم العائمة من 6 ثوانٍ الى 9 ثوانٍ
  • تحسين التنفيذ الداخلي لنافذة وحدة التحكم العائمة يستخدم معالجة بلا اقفال وباسلوب الطوابير لتحسين كفاءة ونجاح ضبط المعاملات
  • تحسين واجهات API المتعلقة بسلوك لون خلفية نافذة وحدة التحكم العائمة (الشفافية/التلوين/اللون الاساسي) اصبحت اكثر توافقا مع معايير تصميم Android issue #458
  • تحسين تم تحسين توقيت طي القائمة عند النقر على عناصرها بعد توسيع الزر العائم في مدير الملفات
  • تحسين مدير الملفات/لوحة المهام يدعمان عرض احصاءات عدد الملفات/المهام
  • تحسين عند فشل حفظ الملف في محرر الشفرة, يتم حفظه تلقائيا كمسودة مع دعم الحفظ باسم ملف جديد
  • تحسين تحسين السلاسة بدرجة معينة عند تحميل الملفات الكبيرة في محرر الشفرة
  • تحسين ميزة "بحث/استبدال" في محرر الشفرة تدعم استمرارية الحالة وعرض عدد نتائج البحث في الوقت الحقيقي
  • تحسين عند مطالبة محرر الشفرة بالحفظ, يتم التأكد من نجاح الحفظ قبل الخروج لتقليل معدل فشل الحفظ
  • تحسين حالة زر الحفظ في محرر الشفرة اصبحت اكثر توافقا مع المنطق الذاتي للمستخدم
  • تحسين محرر الشفرة يدعم الضغط المطول لمفاتيح مثل "-", "=", "(", "[", "{", "<"
  • تحسين تمت اضافة زر "ايقاف" الى مربع حوار عملية تغليف التطبيق
  • تحسين تم تحسين طريقة عرض مربع حوار عملية تغليف التطبيق مع اضافة احصاءات زمن التنفيذ
  • تحسين عند تثبيت تطبيقات معبأة باستخدام اعداد جديد, سيتم استبدال الاعدادات المرتبطة للتطبيق القديم
  • تحسين صفحة اعداد تغليف التطبيق تقوم بتحديد الاذونات الضرورية افتراضيا (WAKE_LOCK/INTERNET/WRITE_EXTERNAL_STORAGE/...) issue #397
  • تحسين صفحة اعداد تغليف التطبيق تدعم قراءة واعداد المزيد من الخيارات (اظهار السجلات عند التشغيل/اظهار شاشة البداية عند التشغيل/نص شعار شاشة البداية/...)
  • تحسين تمت اضافة مفتاح خدمة الواجهة الامامية الى صفحة اعداد التطبيق المعبأ issue #406
  • تحسين عند حفظ ملف اعداد مشروع السكربت, تمت اضافة آلية لاكتشاف تعارض اسماء المفاتيح لمنع غموض اسم المفتاح
  • تحسين صفحة تقرير الانهيار تدعم التكبير والتصغير باصبعين لضبط حجم الخط مع اضافة ازرار للوظائف الشائعة
  • تحسين ايقونات مشغل التطبيقات تدعم خصائص الايقونات التكيفية issue #405
  • تحسين عندما يفشل محرك Rhino في تحليل تواقيع generics, فانه يعود الى انواع reflection الخام لتعزيز قابلية استخدام الطرق العاكسة على اصدارات Android المنخفضة
  • تحسين تمت اضافة فواصل الى عناصر المفاتيح في درج الصفحة الرئيسية, مع دعم النقر على منطقة عنوان النص لعرض مربع حوار تفصيلي, ودعم الانتقال السريع الى اعدادات النظام عند الحاجة
  • تحسين عند تشغيل AutoJs6 او اعادة تشغيله, يدعم النقر على منطقة عنوان "وضع العميل" في درج الصفحة الرئيسية اجهاض محاولة الاتصال الجارية
  • تحسين وضع العميل يدعم انشاء الاتصال باستخدام عناوين IPv6 وعناوين النطاقات
  • تحسين وضع العميل يدعم تنبيهات اكتشاف عناوين IPv4 ذات الاستخدام الخاص (loopback/broadcast/multicast/reserved/...)
  • تحسين وضع العميل يدعم عرض وادارة حالة الاتصال (تصحيح العنوان/اجهاض الاتصال)
  • تحسين وضع الخادم يدعم عرض عدد العملاء الذين تم انشاء اتصال معهم
  • تحسين صلاحية قراءة الاشعارات تدعم آلية اعادة اتصال تلقائية (requestRebind) لتعزيز استقرار الميزات المتعلقة بمراقبة الاشعارات
  • تحسين الزر العائم يعزز امان تشغيل Activity من الخلفية لتجنب انهيار التطبيق
  • تحسين مربع الحوار "المزيد" الخاص بالزر العائم يستخدم تحميل البيانات بشكل غير متزامن لتحسين سلاسة العرض
  • تحسين تمت اضافة عنصر القائمة "الصفحة الرئيسية" الى مربع الحوار "تشغيل السكربت" الخاص بالزر العائم
  • تحسين مربع الحوار "تشغيل السكربت" الخاص بالزر العائم يدعم التصغير واستعادة الحالة, ويبذل اقصى ما يمكن لابقاء النافذة دائمة او استعادتها تلقائيا
  • تحسين يدعم استخدام صلاحيات Shizuku لتسجيل السكربتات وتشغيل التسجيلات (قد تتأثر سلاسة التشغيل الى حد ما) issue #320
  • تحسين صفحة اعداد لون السمة تستخدم طريقة تموضع سريعة عند تحديد لون السمة لتحسين الكفاءة
  • تحسين تم استخدام LiveData و SharedFlow بدلا من LocalBroadcastManager المهمل
  • تحسين نصوص بناء Gradle تحسن كفاءة فك ضغط الملفات ذات تنسيق 7z
  • تحسين نصوص بناء Gradle تدعم الحصول على الاصدار التفصيلي لـ Android Studio IDE (مثل "2025.1.4.7")
  • تحسين نصوص بناء Gradle تدعم توليد البيانات المطلوبة للفئة VersionCodesList تلقائيا لتقليل تأخير بدء السكربت
  • تحسين استخدام Version Catalogs لادارة اصدارات تبعيات Gradle واضافاته بشكل مركزي
  • تحسين تمت نمذجة نصوص بناء Gradle بشكل وحداتي, مع نقل منطق البناء المشترك الى build-logic وتجريده على شكل اضافات convention
  • تحسين استخدام اضافات convention في Gradle لتبسيط منطق تحميل مكتبات AAR المحلية
  • تحسين ازالة خيار Gradle "android.enableJetifier=true" للتكيف مع Gradle 9
  • تحسين استخدام Toolchain بدلا من sourceCompatibility/targetCompatibility لتقليل فروق بيئة البناء
  • تحسين تعديلات على إصدارات بعض التبعيات أو المكتبات المحلية CHANGELOG.md

v6.6.4

2025/05/31
  • تلميح تغيير API: ui.(status/navigation)BarAppearanceLight[By] -> ui.(status/navigation)BarIconLight[By]
  • إضافة جديدة طرق util.dpToPx/spToPx/pxToDp/pxToSp لتحويل وحدات البكسل
  • تصليح مشكلة عرض العنوان الفرعي بشكل غير مكتمل عند تدوير الشاشة إلى الوضع الأفقي
  • تصليح مشكلة تغطية جزء من محتوى الصفحة بواسطة شريط التنقل الجانبي عند التدوير إلى الوضع الأفقي
  • تصليح منطقة تلوين خلفية شريط الحالة غير مكتملة في بعض الصفحات على Android 15 issue #398
  • تصليح قد يستخدم محرر الأكواد ترميزًا منخفض الثقة عند الكتابة مما يؤدي إلى أخطاء فك الترميز (محاولة إصلاح)
  • تحسين زيادة توافق التخطيط في صفحات التطبيق والمطور وإزالة تصنيفات التخطيط غير الضرورية
  • تحسين في README.md، قسم البناء، إضافة طرق متعددة لتسهيل تحديد صفحة إعداد الهدف issue #404
  • تحسين تعديلات على إصدارات بعض التبعيات أو المكتبات المحلية CHANGELOG.md

v6.6.3

2025/05/27
  • إضافة جديدة ميزة سجل الاصدارات: عرض سجل التغييرات متعدد اللغات والاحصاءات
  • إضافة جديدة الدالة timers.keepAlive (أصبحت عالمية) للحفاظ على بقاء السكربت نشطًا
  • إضافة جديدة مستمعو الأحداث مثل engines.on('start/stop/error', callback) لأحداث المحرك العامة
  • إضافة جديدة الدالة images.detectMultiColors للتحقق من ألوان متعددة النقاط issue #374
  • إضافة جديدة الدوال images.matchFeatures/detectAndComputeFeatures: بحث صور بدقة كاملة (انظر Auto.js Pro) issue #366
  • إضافة جديدة الدالة images.compressToBytes لضغط الصورة وإنتاج مصفوفة بايتات
  • إضافة جديدة الدالة images.downsample لخفض الدقة وإنشاء ImageWrapper جديد
  • إضافة جديدة الدالة ui.keepScreenOn لإبقاء الشاشة مضاءة عند تركيز صفحة الواجهة
  • إضافة جديدة خاصية ui.root (getter) للحصول على عقدة "حاوية المحتوى الجذرية للنافذة" في تخطيط الواجهة
  • إضافة جديدة عنصر webview يدعم تخطيطات صفحات الويب عبر JsBridge (انظر Auto.js Pro) [مثال: Layout > Interactive HTML / Vue2 + Vant (SFC)] issue #281
  • إضافة جديدة مصحح التخطيط يدعم إخفاء العناصر (بواسطة TonyJiangWJ) pr #371 issue #355
  • تصليح قد يتم حجب بعض محتوى الوثائق عبر الإنترنت في تبويب Docs وصفحة الوثائق بواسطة شريط التنقل
  • تصليح في بعض الصفحات قد يؤدي النقر على أزرار شريط الأدوات إلى تفعيل حدث النقر على العنوان بالخطأ
  • تصليح على بعض الاجهزة، كانت الاسطر الفارغة في محرر الشفرة تظهر كمربعات; اصلاح تجريبي
  • تصليح مربع حوار لوحة الألوان في إعداد لون السمة قد يتراكم بلا حدود
  • تصليح زر رفع الصوت لا يوقف جميع السكربتات عند تعطيل خدمة الوصول
  • تصليح تداخل لوحة المفاتيح عند تحرير بث مخصّص في صفحة المهام المجدولة
  • تصليح عناصر التحكم داخل webview لا تستطيع تفعيل لوحة المفاتيح البرمجية بشكل صحيح
  • تصليح قد يفشل مربع معلومات APK في جلب اسم التطبيق أو معلومات SDK
  • تصليح قد لا يتم تحميل محتوى المجلدات الفرعية تلقائيًا عند دخول مجلد مشروع في مثال مدير الملفات
  • تصليح تغطية المحتوى العلوي بشريط الحالة في وضع الواجهة على Android 15
  • تصليح لون خلفية شريط الحالة في بعض صفحات Android 15 لا يتبع لون السمة ديناميكيًا
  • تصليح وحدة dialogs لا تدعم الخاصية customView issue #364
  • تصليح قد لا يُرجع معامِل التعبير في dialogs.input نتيجة التنفيذ
  • تصليح استخدام JavaAdapter يسبب تجاوز مكدس ClassLoader issue #376
  • تصليح console.setContentTextColor يفقد اللون الافتراضي للنص issue #346
  • تصليح console.setContentBackgroundColor لا يقبل أسماء الألوان issue #384
  • تصليح تم تصحيح آلية images.compress: تغيّر جودة التشفير بدل خفض البكسلات
  • تصليح الدالة images.resize لا تعمل بشكل صحيح
  • تصليح engines.all قد يطلق ConcurrentModificationException issue #394
  • تصليح تنسيقات تاريخ غير صحيحة في بعض اللغات داخل README.md
  • تصليح قد تفشل عملية بناء Gradle بسبب طول غير صالح لأرشيف مكتبة issue #389
  • تحسين إضافة فواصل متدرّجة في قائمة مصحح التخطيط لتجميع الوظائف
  • تحسين يدعم project.json خيار permissions لمشاريع السكربتات (بواسطة wirsnow) pr #391 issue #362
  • تحسين عند حزم ملف واحد تُقرأ أذونات التطبيق المثبت وتُحدد تلقائيًا issue #362
  • تحسين توسيع نطاق تطبيق لون السمة ودعم المزيد من عناصر الواجهة
  • تحسين تكيّف عرض الدرج الرئيسي للشاشات الأفقية والعريضة جدًا
  • تحسين إضافة تخطيطات أفقية وصغيرة للصفحات «حول التطبيق» و«المطور»
  • تحسين حوار إعدادات يوفر خيار "استخدام القيمة الافتراضية"
  • تحسين زر الإجراء العائم في مدير الملفات يختفي تلقائيًا عند النقر خارجَه
  • تحسين مُنسّق الشيفرة يدعم العناصر ?? و ?. و ??=
  • تحسين يدعم محرّر الشيفرة قراءة وكتابة الملفات بترميزات GB18030 / UTF-16 (LE/BE) / Shift_JIS وغيرها
  • تحسين يدعم محرّر الشيفرة عرض معلومات تفصيلية عن الملف (المسار/الترميز/فاصل الأسطر/إجمالي البايتات والحروف، إلخ.) issue #395
  • تحسين إضافة رسائل خطأ لعمليات Intent (تحرير/عرض/تثبيت/إرسال/تشغيل وغيرها)
  • تحسين خاصية url في webview تدعم المسارات النسبية
  • تحسين وسيط path في ImageWrapper#saveTo يدعم المسارات النسبية
  • تحسين images.save يدعم ضغط ملفات PNG عند استخدام الوسيط quality issue #367
  • تحسين دعم مسح سجلات التحديثات المُتجاهَلة وعناوين وضع العميل
  • تحسين معلومات التحديث تعرض بعدة لغات متزامنة مع لغة الواجهة الحالية
  • تحسين التحميل غير المتزامن يحسّن سلاسة التمرير في قائمة مدير الملفات
  • تحسين تحسين محتوى وتنسيق رسائل استثناء السكربت في وحدة التحكم
  • تحسين أمثلة الشيفرة تدعم إعادة تعيين المجلد إلى محتواه الأصلي
  • تحسين زيادة كفاءة التحقق من توقيع APK
  • تحسين تحسين سرعة عرض وحالة معلومات حوارات ملفات APK/الوسائط
  • تحسين نص بناء Gradle أصبح أكثر قدرة على التكيّف مع الإصدارات الجديدة discussion #369
  • تحسين تعديلات على إصدارات بعض التبعيات أو المكتبات المحلية CHANGELOG.md
للاطلاع على المزيد من سجل الإصدارات، راجع

تجميع وبناء المشروع


لتصحيح أو تطوير مشروع AutoJs6، يمكنك استخدام Android Studio (منتج من Google) أو IntelliJ IDEA (منتج من Jetbrains).

يتناول هذا القسم طرق بناء وتجميع مشروع AutoJs6 المفتوح المصدر مستخدمًا Android Studio كمثال، يمكن استخدام IntelliJ IDEA بنفس الطريقة.

تحضير Android Studio

قم بتنزيل إصدار Android Studio Panda 2 | 2025.3.2 (حدد أحدها حسب الحاجة):

ملاحظة: تاريخ الإصدار بالنسخة المذكورة أعلاه هو 3 March 2026. إذا كنت بحاجة إلى تنزيل إصدار آخر، أو إذا كان الرابط المذكور غير صالح، يمكنك زيارة أرشيف إصدارات Android Studio.

قم بتثبيت أو فك ضغط الملف المذكور سابقًا، ثم قم بتشغيل برنامج Android Studio (مثل "D:\android-studio\bin\studio64.exe").

تحضير Android SDK

ملاحظة: إذا كان نظام الكمبيوتر يحتوي بالفعل على Android SDK (مجموعة تطوير البرمجيات لنظام أندرويد)، فيمكنك تخطي هذا القسم.

افتح صفحة إعدادات Android SDK (مجموعة تطوير برمجيات أندرويد) (بأيٍّ من الطرق التالية):

Help (مساعدة) | Find action (بحث عن إجراء) # إدخال "Android SDK"
[ أو ]
File (ملف) | Settings (إعدادات) # بحث "Android SDK"
[ أو ]
File (ملف) | Settings (إعدادات) | Language & Frameworks (اللغات وأُطر العمل) | Android SDK (مجموعة تطوير البرامج لنظام Android)
[ أو ]
File (ملف) | Settings (إعدادات) | Appearance & Behavior (المظهر والسلوك) | System Settings (إعدادات النظام) | Android SDK (مجموعة تطوير البرامج لنظام Android)

إذا كان حقل موقع Android SDK (Android SDK Location) فارغًا، يمكنك النقر على زر تحرير (Edit) على اليمين، والنقر على التالي (Next) عدة مرات في النافذة المنبثقة.

ملاحظة: قد يتطلب الأمر الموافقة على اتفاقية واحدة أو أكثر للاستمرار في العملية.

عندما يتم تنزيل وتثبيت الموارد ذات الصلة، انقر على زر إنهاء (Finish).
سيتم تلقائيًا ملء المسار في حقل موقع Android SDK (Android SDK Location) المشار إليه أعلاه، وسيتم إنجاز أعمال التحضير للـ SDK.

تحضير أدوات Android SDK

AutoJs6 يتطلب استخدام بعض أدوات SDK (مثل NDK وCMake).

ملاحظة: إذا كان النظام يحتوي بالفعل على جميع أدوات Android SDK المطلوبة لمشروع AutoJs6، فيمكنك تخطي هذا القسم.

افتح صفحة إعدادات SDK Tools (أدوات SDK) (بأيٍّ من الطرق التالية):

Help (مساعدة) | Find action (بحث عن إجراء) # إدخال "SDK Tools"
[ أو ]
File (ملف) | Settings (إعدادات) # بحث "SDK Tools"
[ أو ]
File (ملف) | Settings (إعدادات) | Language & Frameworks (اللغات وأُطر العمل) | Android SDK (مجموعة تطوير البرامج لنظام Android) | SDK Tools  (أدوات SDK) (في النافذة اليمنى)
[ أو ]
File (ملف) | Settings (إعدادات) | Appearance & Behavior (المظهر والسلوك) | System Settings (إعدادات النظام) | Android SDK (مجموعة تطوير البرامج لنظام Android) | SDK Tools  (أدوات SDK) (في النافذة اليمنى) 

حدد إظهار تفاصيل الحزمة (Show Package Details)، وقم بالنقر على NDK و CMake، وتأكد من تحديد الأدوات الخاصة بها ,تقع معلومات إصدار أدوات SDK في ملف version.properties في جذر مشروع AutoJs6.

تحضير JDK

يعتمد مشروع AutoJs6 على إصدار JDK (مجموعة تطوير جافا) بإصدار لا يقل عن 17، ولكن يفضل الإصدار الذي لا يقل عن 21.

اعتبارًا من 14 March 2026، الإصدار الأقصى المدعوم من JDK لمشروع AutoJs6 هو 25.

ملاحظة: إذا كان نظام الكمبيوتر يحتوي على JDK والإصدار يفي بالمتطلبات المذكورة أعلاه، فيمكنك تخطي هذا القسم.

يمكن تنزيل JDK مباشرةً باستخدام IDE، أو زيارة موقع Oracle لتنزيله.

افتح صفحة إعدادات Gradle JDK (بأيٍّ من الطرق التالية):

Help (مساعدة) | Find action (بحث عن إجراء) # إدخال "Gradle JDK"
[ أو ]
File (ملف) | Settings (إعدادات) # بحث "Gradle"
[ أو ]
File (ملف) | Settings (إعدادات) | Build, Execution, Deployment (البناء، التنفيذ، النشر) | Build Tools (أدوات البناء) | Gradle

يمكنك اختيار أو إضافة إصدار JDK مختلف في حقل Gradle JDK.

إذا كان الإصدار المناسب للـ JDK (>= 17) موجوداً بالفعل في القائمة، فيمكنك تحديده مباشرةً.
يمكنك اختيار Download JDK (تنزيل JDK) لتنزيل JDK المناسب، انقر على زر Download (تنزيل) وانتظر حتى يكتمل التنزيل.
يمكنك أيضًا اختيار Add JDK (إضافة JDK) لإضافة JDK موجود محليًا، وتحديد مساره وإكمال الإضافة.

استنساخ موارد AutoJs6

في شاشة Android Studio الرئيسية، انقر على زر Get from VCS (الحصول من نظام التحكم في الإصدارات).
أدخل العنوان https://github.com/SuperMonster003/AutoJs6.git في حقل URL (عنوان الموارد الموحدة),
يمكن تعديل المسار في حقل Directory (المجلد) حسب الحاجة.
انقر على زر Clone (استنساخ)، وانتظر حتى يكتمل استنساخ موارد مشروع AutoJs6 محليًا.

ملاحظة: قد تتطلب العملية المذكورة أعلاه تثبيت Git (نظام التحكم في الإصدار الموزع).

بناء مشروع AutoJs6

عند اكتمال الاستنساخ، سيفتح Android Studio نافذة مشروع AutoJs6، ويكمل تلقائيًا تنزيل Dependencies (التبعيات) الأساسية وبناء Gradle.

ملاحظة: قد تستغرق العملية المذكورة أعلاه وقتًا طويلًا. إذا كانت حالة الشبكة غير جيدة، قد تحتاج إلى المحاولة عدة مرات (بالنقر على زر Retry).

إذا لم يتمكن البناء من المتابعة تلقائيًا أو إذا كنت بحاجة إلى إعادة بناء المشروع، فاتبع الخطوات التالية:

  • من قائمة Run/Debug Configurations في شريط الأدوات، اختر app، وهو التطبيق الرئيسي لـ AutoJs6
  • انقر على زر Build Project (رمز المطرقة) على اليسار لبدء بناء المشروع. الاختصار الافتراضي هو CTRL + F9
  • انتظر انتهاء البناء. ستظهر رسالة في تبويب Builder Output مثل "BUILD SUCCESSFUL in 1h 17m 34s"

إذا فشل البناء، يمكنك الإبلاغ عن رسالة الخطأ في صفحة Issues لمشروع AutoJs6.

ملحوظة: لمزيد من التفاصيل حول كيفية بناء وتشغيل التطبيق، يرجى الرجوع إلى Android Docs

نشر مشروع AutoJs6 (تشغيل التطبيق)

بمجرد بناء المشروع بنجاح، يمكن نشره كتطبيق (App) على جهاز فعلي (مثل الهاتف/اللوحي) أو جهاز افتراضي (مثل محاكي Android).

  • في شريط الأدوات، اختر app من قائمة Run/Debug Configurations، وهو التطبيق الرئيسي لـ AutoJs6
  • في القائمة المنسدلة Available Devices على اليمين، اختر الجهاز الذي يجب تشغيل تطبيق المشروع عليه (جهاز فعلي أو افتراضي)
  • انقر على زر Run (رمز المثلث) على اليمين لتشغيل التطبيق. الاختصار الافتراضي هو F10
  • انتظر انتهاء النشر؛ سيقوم الجهاز المحدد بتثبيت وتشغيل التطبيق تلقائيًا

نشر مشروع AutoJs6 (إنشاء APK)

حزم المشروع وإنشاء ملف APK يمكن تثبيته على أجهزة Android:

  • نسخة تجريبية (Debug Version)
    • Build (بناء) | Build Bundle(s) / APK(s) | Build APK(s)
    • توليد حزمة تثبيت الإصدار التجريبي مع التوقيع الافتراضي
    • مثال على المسار: "D:\AutoJs6\app\build\outputs\apk\debug\"
  • نسخة مطروحة (Release Version)
    • Build (بناء) | Generate Signed Bundle / APK
    • اختيار خيار APK
    • قم بإعداد ملف التوقيع (تكوين جديد أو اختيار موجود)، وتوليد حزمة تثبيت الإصدار المطروح
    • مثال على المسار: "D:\AutoJs6\app\release\"

ملحوظة: لمزيد من المعلومات حول كيفية بناء التطبيق لإصداره للمستخدمين، يرجى الرجوع إلى Android Docs

مهام بناء Gradle المحددة مسبقًا لـ AutoJs6

بالإضافة إلى بناء التطبيق، يدعم AutoJs6 عدة مهام بناء Gradle المحددة مسبقًا التي تساعد المطورين في تنفيذ العمليات المتعلقة بالمشروع بسهولة.

ضمن قائمة Run/Debug Configurations في شريط الأدوات، يمكنك العثور على المهام المحددة مسبقًا لـ Gradle، حيث تظهر أيقونة الفيل على اليسار لكل مهمة.

  • AutoJs6 [inrt:assemble]

تجميع نسخة البناء "inrt"، التي تخدم بشكل أساسي ميزة تغليف نصوص AutoJs6.

يمتلك مشروع AutoJs6 نسخ بناء مختلفة. النسخة "inrt" تُستخدم لتغليف النصوص، حيث تقوم بإنشاء ملف النموذج "template.apk" المطلوب للتغليف.

عند استخدام ميزة التغليف، قد تواجه رسالة الخطأ التالية:

java.io.FileNotFoundException: template.apk

هذا يشير إلى أن ملف النموذج غير موجود. يجب تشغيل مهمة inrt:assemble يدويًا لإنشاء ملف النموذج، ثم إعادة البناء والنشر مرة أخرى.

ملحوظة: عند حدوث تغييرات في كود المشروع الرئيسي ورغبتك في مزامنة هذه التغييرات مع التطبيق المعبأ، يتعين عليك إعادة تشغيل مهمة inrt:assemble لتوليد ملفات القالب وإعادة نشر التطبيق

  • AutoJs6 [app:bundle]

حزم مخرجات عملية البناء بوضع التصحيح، وتستخدم بشكل رئيسي لمشروع تعريفات AutoJs6.

بعد تشغيل المهمة، يتم إنتاج أحدث ملف JAR لمشروع AutoJs6. باستخدام أداة Android d.ts Generator (من NativeScript) يمكنك إنشاء تعريفات الأنواع (بتنسيق d.ts) للتطبيق الرئيسي لـ AutoJs6.

  • AutoJs6 [app:digest]

إلحاق معلومات الملخص بملف APK الذي تم إنتاجه من بناء الإصدار، وذلك لتحديد الاسم النهائي للملف قبل نشر أحدث نسخة من AutoJs6 على GitHub.

فيما يلي مقارنة بين أسماء الملفات قبل وبعد إلحاق معلومات الملخص:

قبل:
autojs6-v6.6.2-arm64-v8a.apk
بعد:
autojs6-v6.6.2-arm64-v8a-0f2a9d74.apk

مرجع: Android Docs


مساعدة تطوير السكريبت


لتطوير سكربتات يمكن تشغيلها بواسطة AutoJs6، تحتاج إلى استخدام أدوات تطوير مناسبة:

إذا كنت بحاجة إلى كتابة وتصحيح السكربتات على الكمبيوتر الشخصي، يمكن لمكون VSCode الإضافي تحقيق الاتصال بين الكمبيوتر والهاتف:

أثناء كتابة الكود باستخدام أدوات التطوير، يمكن أن تساعد ميزة الإكمال التلقائي الذكية في إكمال الكود:

أثناء كتابة الكود، يمكن الرجوع إلى الوثائق التطبيقية لـ AutoJs6 والمعلومات حول استخدام API ذات الصلة:

مشاريع تطوير السكربتات الموجودة يمكن أن تكون مرجعًا وإلهامًا لإنشاء المشاريع الشخصية:


المشاركة بالإسهام


شكرًا لكل من ساهم في تطوير مشروع AutoJs6.

المساهمون عدد الإرساليات أحدث الإرساليات
Willie169 1 2026/03/03
LYS86 (Lin) 4 2025/12/26
wirsnow 1 2025/05/19
TonyJiangWJ 4 2025/04/24
luckyloogn 3 2024/12/31
kvii 1 2024/10/16
chenguangming (Tom) 2 2024/05/14
LZX284 (AI) 7 2023/11/15
kojoecode (抠脚本人) 12 2023/07/12
aiselp 6 2023/06/14
تم تحديث البيانات في 4 March 2026.

تم تصنيف سجلات البيانات بترتيب تنازلي حسب أحدث الإرساليات.

طلبات السحب الجديدة غير المعالجة بعد، سيتم إدراجها في الإحصاءات بعد الدمج.

بعض المساهمين قد لا يظهرون بشكل صحيح في GitHub Contributors، سجلات إسهاماتهم قد تكون فارغة، لكن يمكن مراجعة سجلات الإسهامات عبر Pull Request.