Files
AutoJs6/.readme/README-ar.md
2025-04-26 11:23:54 +08:00

64 KiB
Raw Blame History

autojs6-banner_800×224

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

GitHub release (latest by date) GitHub closed issues Created
Rhino Android Studio
CodeFactor Grade 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
Auto.js Pro 7 Auto.js hyb1996 2019/03/13 2019/07/08
Auto.js Pro 8 AutoJsPro hyb1996 2019/10/13 2021/07/24
Auto.js Auto.js M TonyJiangWJ 2019/11/21 -
AutoX Autox.js kkevsekk1 2020/07/24 -
Auto.js Pro 9 AutoJsPro hyb1996 2021/03/28 2023/02/09
AutoJs6 AutoJs6 SuperMonster003 2021/12/01 -
AutoX Autox.js v6 wilinz 2022/05/26 -
AutoX Autox.js v7 aiselp 2024/04/21 -

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

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


الوظائف


  • يمكن استخدامه كبيئة تطوير تكاملية (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 قد أجرت التحديثات أو التغييرات الرئيسية التالية:


تاريخ الإصدارات


v6.6.2

2025/04/16
  • إضافة جديدة طرق مثل ui.statusBarAppearanceLight و statusBarAppearanceLightBy و navigationBarColor وغيرها.
  • إضافة جديدة الخاصية ui.statusBarHeight (getter) المستخدمة للحصول على ارتفاع شريط الحالة issue #357
  • إضافة جديدة طريقة images.flip لقلب الصور issue #349
  • إضافة جديدة تمت إضافة خيار "امتداد الملف" في صفحة الإعدادات
  • إضافة جديدة صفحة إعدادات اللون الموضوع تدعم الآن تنسيقاً جديداً (تجميع، تحديد موضع، بحث، سجل، تحسين لوحة الألوان، الخ)
  • تصليح المشكلة التي كان فيها لون خلفية شريط الحالة على Android 15 لا يتطابق مع لون الموضوع
  • تصليح المشكلة التي كان فيها طريقة plugins.load لا تحمل الإضافات بشكل صحيح issue #290
  • تصليح المشكلة التي كان فيها مكتبة dx لا تعمل بشكل صحيح على Android 7.x issue #293
  • تصليح المشكلة التي كان فيها ScriptRuntime قد يظهر حالة تزامن غير طبيعية عند استخدام require لاستيراد الوحدات المدمجة (حل مؤقت) issue #298
  • تصليح المشكلة التي كان فيها وحدة notice تفتقر إلى طرق التمديد مثل getBuilder issue #301
  • تصليح المشكلة التي كان فيها طرق shizuku/shell لا تقبل معاملات نصية issue #310
  • تصليح المشكلة التي كان فيها طريقة colors.pixel لا تقبل معاملات الصور ذات القناة الواحدة issue #350
  • تصليح المشكلة التي كان فيها طرق engines.execScript/execScriptFile تستخدم مسار عمل افتراضي غير صحيح عند تنفيذ السكريبتات issue #358 issue #340 issue #339
  • تصليح المشكلة التي كان فيها floaty.window/floaty.rawWindow لا يمكن تنفيذها في الخيوط الثانوية
  • تصليح المشكلة التي كان فيها floaty.getClip قد لا يسترجع محتوى الحافظة بشكل صحيح issue #341
  • تصليح المشكلة التي كان فيها ناتج ui.inflate يفتقد إلى طرق البروتوتايب مثل attr و on و click
  • تصليح مشكلة يتم فيها ربط سياق النطاق بشكل غير صحيح عند استخدام صياغة XML لاستخدام تعبير JavaScript كقيمة لخاصية issue #319
  • تصليح المشكلة التي كانت فيها استثناءات بعض الطرق لا يتم التقاطها بواسطة كتلة try..catch issue #345
  • تصليح المشكلة التي كان فيها توليد الكود في صفحة تحليل التخطيطات قد يؤدي إلى تعطل التطبيق issue #288
  • تصليح المشكلة التي كان فيها التطبيقات المعبأة لا يمكنها استخدام وحدة shizuku بشكل صحيح issue #227 issue #231 issue #284 issue #287 issue #304
  • تصليح المشكلة في محرر الكود حيث الانتقال إلى نهاية السطر قد ينقل المؤشر إلى بداية السطر التالي
  • تصليح المشكلة التي كان فيها النقر المتتالي السريع على العناصر الحوارية في صفحة الإعدادات قد يؤدي إلى تعطل التطبيق
  • تحسين تحسين حجم ملف APK في قالب التطبيق المعبأ
  • تحسين التطبيق (والتطبيقات المعبأة) الآن يدعم المزيد من الأذونات issue #338
  • تحسين تمت إضافة خيار لمكتبة Pinyin في صفحة التعبئة
  • تحسين تحسين خلفية شريط الحالة ولون النص في الصفحة الرئيسية للتطبيقات المعبأة
  • تحسين إضافة مفاتيح لتبديل الأذونات الخاصة (الوصول إلى جميع الملفات وإرسال الإشعارات) في صفحة إعدادات التطبيقات المعبأة issue #354
  • تحسين التكيف التلقائي لألوان نصوص وأيقونات عناصر التحكم بناءً على سطوع لون الموضوع
  • تحسين تحسين التجربة البصرية عند انخفاض التباين بين لون عنصر التحكم وخلفيته
  • تحسين تحسين توافقية حقل إدخال HEX في لوحة الألوان عند لصق القيم من الحافظة
  • تحسين تعيين شريط التنقل في التطبيق ليكون شفافاً أو شبه شفاف لتحسين التجربة البصرية
  • تحسين وضع واجهة المستخدم الافتراضي لشريط الحالة وشريط التنقل مضبوط على اللون md_grey_50 في الوضع الفاتح
  • تحسين مفتاح خدمة إمكانية الوصول في القائمة الرئيسية يتزامن الآن مع كود السكريبت
  • تحسين صفحة الوثائق في الصفحة الرئيسية تدعم الآن أزرار البحث الثنائي الاتجاه
  • تحسين علامة تبويب "الملفات" في الصفحة الرئيسية تسمح بتغيير ظهور الزر العائم عبر الضغط المطول
  • تحسين عنوان محرر الكود يدعم الآن تغيير حجم الخط تلقائياً
  • تحسين ظهور الزر العائم في صفحة السجلات مرتبط بحركات التمرير في القائمة
  • تحسين ملف إعداد project.json لمشروع السكريبت يدعم الآن المزيد من خيارات التعبئة issue #305 issue #306
  • تحسين ملف project.json يدعم الآن مطابقة أكثر مرونة لأسماء الخيارات والتوافق مع الأسماء المستعارة
  • تحسين حوار معلومات نوع ملف APK يشمل الآن حجم الملف ومعلومات توقيع المخطط
  • تحسين حوار معلومات نوع ملف APK يدعم الآن مستمعي النقر لنسخ النص والتنقل إلى تفاصيل التطبيق
  • تحسين محاولة لاستعادة الحزم التي تحمل بادئة com.stardust لتحسين توافقية الكود issue #290
  • تحسين طرق floaty.window/floaty.rawWindow أصبحت تدعم التنفيذ في الخيط الرئيسي والثانوي
  • تحسين الطريقة العامة getClip تستخدم الآن floaty.getClip عند الحاجة لتحسين التوافقية
  • تحسين تحسين توافقية طرق files.path والطرق المرتبطة عند تمرير قيمة فارغة لمسار
  • تحسين المزامنة مع أحدث إصدار رسمي لمحرك Rhino وتعديل الكود اللازم
  • تحسين تحسين README.md لتوثيق أفضل لعملية بناء وتشغيل المشروع issue #344
  • تحسين تعديلات على إصدارات بعض التبعيات أو المكتبات المحلية CHANGELOG.md

v6.6.1

2025/01/01
  • إضافة جديدة وحدة Pinyin لتحويل النصوص الصينية إلى بينيين (راجع وثائق المشروع > البينيين الصيني)
  • إضافة جديدة وحدة Pinyin4j لتحويل النصوص الصينية إلى بينيين (راجع وثائق المشروع > البينيين الصيني)
  • إضافة جديدة الطرق UiObject#isSimilar و UiObjectCollection#isSimilar لتحديد ما إذا كان العنصر أو مجموعة العناصر متشابهة
  • إضافة جديدة الطريقة العامة "currentComponent"، تُستخدم للحصول على اسم المكون النشط الحالي
  • تصليح مشكلة عدم قدرة المشروع على التجميع بشكل صحيح في بعض البيئات بسبب الرجوع إلى إصدار أقدم
  • تصليح خطأ "قيمة غير أولية" قد يحدث عند استدعاء طرق غير موجودة
  • تصليح مشكلة عدم إمكانية إضافة اختصارات النصوص على بعض الأجهزة (إصلاح مؤقت) issue #221
  • تصليح خطأ في قيود نوع الوسائط للطرق automator.click/longClick issue #275
  • تصليح مشكلة عدم دعم المصفوفات مع الوسائط من نوع ConsString issue #277
  • تصليح مشكلة فقدان الطرق والخصائص في مثيلات UiObjectCollection
  • تحسين تدعم صفحة التغليف إعداد التوقيعات وإدارة مستودعات المفاتيح وإعداد الأذونات (بواسطة luckyloogn) pr #286
  • تحسين تم تحسين دقة التعرف على اسم الحزمة الحالية واسم النشاط الحالي في النوافذ العائمة (الأولوية: Shizuku > Root > A11Y)
  • تحسين تم تحسين دقة التعرف على currentPackage و currentActivity (الأولوية: Shizuku > Root > A11Y)
  • تحسين استعادة إمكانية اختيار محتوى النص لكل عنصر في نافذة النشاط الخاصة بالسجلات بالنقر المزدوج أو الضغط المطول issue #280
  • تحسين استعادة أكبر قدر ممكن من المعلومات الأساسية لمشاريع النصوص عند تلف ملف project.json
  • تحسين تحويل اللغة الصينية المبسطة تلقائيًا إلى نظام بينيين (بما في ذلك الحروف متعددة النغمات) عند توليد اللواحق للأسماء في الملفات المفردة
  • تحسين دعم الوسائط السلبية في الطرق UiSelector#findOnce و UiSelector#find
  • تحسين تم تحسين تكيفية أساليب app.startActivity/startDualActivity
  • تحسين دعم أشكال مختصرة إضافية لبادئات الأسماء في المصفوفات المرتبطة بعناصر الواجهة (مثل RecyclerView و Snackbar وغيرها)
  • تحسين مزامنة أحدث كود من المصدر الرئيسي لمحرك Rhino وتكييفه مع المشروع الحالي
  • تحسين تعديلات على إصدارات بعض التبعيات أو المكتبات المحلية CHANGELOG.md

v6.6.0

2024/12/02 - إعادة كتابة الوحدات المدمجة، الترقي بحذر
  • تلميح تمت إعادة كتابة الوحدات المدمجة باستخدام Kotlin لتحسين كفاءة تشغيل البرامج النصية ولكن قد يتطلب ذلك عدة تكرارات للتطوير بشكل تدريجي
  • تلميح ملف init.js المدمج هو فارغ بشكل افتراضي ولكنه يدعم توسيع الوحدات المدمجة أو تحميل وحدات خارجية بواسطة المطورين
  • إضافة جديدة وحدة axios / وحدة cheerio (راجع إلى AutoX)
  • إضافة جديدة وحدة sqlite، تُستخدم للعمليات البسيطة على قواعد بيانات SQLite (راجع إلى Auto.js Pro) (ارجع إلى مستندات المشروع > SQLite)
  • إضافة جديدة وحدة mime، تُستخدم لمعالجة وتحليل سلاسل نوع MIME (ارجع إلى مستندات المشروع > MIME)
  • إضافة جديدة وحدة nanoid، يمكن استخدامها كمولد لسلاسل معرفات (راجع إلى ai/nanoid)
  • إضافة جديدة وحدة sysprops، تُستخدم للحصول على بيانات تكوين بيئة التشغيل (ارجع إلى مستندات المشروع > خصائص النظام)
  • إضافة جديدة تدعم وحدة ocr محرك Rapid OCR
  • إضافة جديدة دعم تحليل التخطيط لتبديل النوافذ (راجع إلى Auto.js Pro)
  • إضافة جديدة طريقة auto.clearCache، تدعم مسح ذاكرة الكاش (راجع إلى Auto.js Pro)
  • إضافة جديدة طريقة threads.pool، تدعم تطبيق بسيط للمؤشرات (راجع إلى Auto.js Pro)
  • إضافة جديدة طريقة images.matchTemplate تضيف خيار useTransparentMask لدعم البحث الشفاف عن الصور (راجع إلى Auto.js Pro)
  • إضافة جديدة طريقة images.requestScreenCaptureAsync، تُستخدم لطلب إذن لالتقاط الشاشة بشكل غير متزامن في وضع UI (راجع إلى Auto.js Pro)
  • إضافة جديدة طريقة images.requestScreenCapture تضيف خيار isAsync لدعم الحصول على لقطة الشاشة بشكل غير متزامن (راجع إلى Auto.js Pro)
  • إضافة جديدة طرق مراقبة الأحداث مثل images.on('screen_capture', callback)، تدعم مراقبة توافر لقطة الشاشة (راجع إلى Auto.js Pro)
  • إضافة جديدة طريقة images.stopScreenCapture، تدعم تحرير الموارد المتعلقة بطلب لقطة الشاشة (راجع إلى Auto.js Pro)
  • إضافة جديدة طرق images.psnr/mse/ssim/mssim/hist/ncc وimages.getSimilarity، تُستخدم للحصول على مقادير تشابه الصور
  • إضافة جديدة طريقة images.isGrayscale، لتحديد ما إذا كانت الصورة رمادية أم لا
  • إضافة جديدة طريقة images.invert، تُستخدم لعكس ألوان الصورة
  • إضافة جديدة طرق s13n.point/time، لتوحيد كائنات النقاط وكائنات الوقت (ارجع إلى مستندات المشروع > التوحيد)
  • إضافة جديدة طرق وحدة console، مثل gravity (الجاذبية)، touchThrough (النقر عبر)، وbackgroundTint (تلوين الخلفية) (ارجع إلى مستندات المشروع > وحدة التحكم)
  • إضافة جديدة طرائق Mathx.randomInt/Mathx.randomFloat، تستخدم لإرجاع عدد صحيح أو نقطة عشوائية ضمن النطاق المحدد
  • إضافة جديدة طرق app.launchDual/startDualActivity، تُستخدم للتعامل مع التطبيقات المزدوجة (تتطلب Shizuku أو Root) (تجريبي)
  • إضافة جديدة طريقة app.kill، تُستخدم لإيقاف التطبيق بالقوة (تتطلب Shizuku أو Root)
  • إضافة جديدة طريقة floaty.getClip، تُستخدم للحصول على محتوى الحافظة بشكل غير مباشر باستخدام نافذة عائمة
  • تصليح تسرب الذاكرة في الارتباط العرضي في الفئات الفرعية لFragment (مثل DrawerFragment / ExplorerFragment إلخ)
  • تصليح تسرب الذاكرة في مثيلات الفئات مثل ScreenCapture / ThemeColorPreference إلخ
  • تصليح مشكلة تسبب تعطل التطبيق عند طلب إذن لقطة الشاشة على Android 14 (by chenguangming) pr #242
  • تصليح مشكلة تسبب تعطل التطبيق عند تشغيل الخدمة الأمامية على Android 14
  • تصليح مشكلة بطئ إضاءة زر تشغيل محرر الأكواد على Android 14
  • تصليح مشكلة تؤدي إلى عدم القدرة على تشغيل التطبيق نتيجة نقص الملفات الأساسية بعد حزم المشروع issue #202 issue #223 pr #264
  • تصليح مشكلة تعطل التطبيق بسبب عدم وجود موارد الأيقونات المخصصة أثناء تحرير المشروع issue #203
  • تصليح عدم القدرة على استخدام المعلمات للحصول على لقطة الشاشة باتجاه معين أثناء طلب إذن لقطة الشاشة
  • تصليح مشكلة في بعض الأجهزة التي لا يمكنها إضافة اختصارات البرامج النصية بشكل سليم (محاولة إصلاح) issue #221
  • تصليح مشكلة تأخير تراكمي في إرسال الطلبات عند استدعاء الطرائق المتعلقة بوحدة http
  • تصليح مشكلة في عدم قدرة خدمة Shizuku على العمل بشكل صحيح قبل الدخول إلى النشاط الرئيسي لـ AutoJs6 (محاولة إصلاح) issue #255
  • تصليح مشكلة تجاوز النتيجة في طريقة random(min, max)
  • تصليح عدم القدرة على تمرير المعلمات من النوع الفارغ في طريقة pickup
  • تصليح مشكلة في تحريف الشكل الثابت للمعامل عند الحصول على المربعات باستخدام UiObject#bounds()
  • تصليح مشكلة عدم القدرة على تحليل النصوص التي تحتوي على علامات تنصيص نصف عريضة في العناصر text/button/input
  • تصليح مشكلة عدم فعالية وظيفة autoLink في عناصر text/textswitcher
  • تصليح مشكلة في مشاركة كائن ScriptRuntime بين السكريبتات المختلفة
  • تصليح فقدان الخواص الديناميكية للمتغيرات العامة HEIGHT وWIDTH
  • تصليح مشكلة في التأخير في بدء التحميل المفاجئ لـ RootShell أثناء بدء تشغيل البرنامج النصي
  • تصليح مشكلة في ضبط لون الخلفية التي تسبب فقدان الزوايا المستديرة للنافذة العائمة في وحدة التحكم
  • تصليح مشاكل تعطل الخدمة في التشغيل التلقائي لنظام التشغيل بدون حزمة كاملة (محاولة إصلاح)
  • تصليح مشكلة تبديل ViewPager عند التمرير الأفقي في WebView في صفحة المستندات الرئيسية
  • تصليح مشكلة عدم القدرة على تحديد الملفات ذات الامتداد الكبير في مدير الملفات
  • تصليح مشكلة عدم قدرة مدير الملفات على التعرف التلقائي على المشروع عند الدخول الأول إلى دليله
  • تصليح مشكلة عدم تحديث الصفحة تلقائيًا بعد حذف المجلد في مدير الملفات
  • تصليح مشكلة في ترتيب الملفات والمجلدات في مدير الملفات بسبب وضع اسم الحرف الأول في ASCII في نهاية القائمة
  • تصليح خطأ فشل التثبت في وظيفة تصحيح الأخطاء لمحرر الأكواد
  • تصليح مشكلة عدم القدرة على بدء التصحيح بعد إغلاق محرر الأكواد أثناء التصحيح
  • تصليح مشكلة تجاوز العناصر عند التنقل إلى نهاية السطر في محرر الأكواد
  • تصليح مشكلة وميض عند تشغيل صفحة السجلات في الصفحة الرئيسية للنشاط
  • تصليح عدم القدرة على استخدام وحدة opencc مع التطبيقات المعبأة بشكل صحيح
  • تحسين تحسين تجربة النقر على عنصر تحكم ABI غير متاح في صفحة التعبئة
  • تحسين دعم التحكم في تشغيل عرض مواقع المؤشر باستخدام Shizuku
  • تحسين دعم التحكم في تشغيل "إبراز وسائل الإعلام" و"تعديل إعدادات الأمان" باستخدام Shizuku
  • تحسين تدعم طرائق automator.gestureAsync/gesturesAsync معلمات دالة الاستدعاء
  • تحسين استخدام الوحدات النمطية كوحدة tasks لتنفيذ العمليات على قاعدة البيانات بطريقة متزامنة لتجنب التناقضات المحتملة في الوصول إلى البيانات
  • تحسين دعم وضع التشغيل البرمجي باستخدام فواصل الأنابيب (مثل "ui|auto"; في البداية)
  • تحسين دعم وضع التشغيل البرمجي باستخدم الأقواس الفردية والخلفية بالتخطي; وتقديم القدرة على إغفال الفواصل المنقوطة (مثل بدايةً 'ui'; أو 'ui')
  • تحسين دعم استيراد النماذج المدمجة مثل axios, cheerio, dayjs وغيرها من النماذج باستخدام معلم الأوضاع السريعة (مثل "axios"; في البداية)
  • تحسين دعم استيراد وحدات JavaScript الداخلية باستخدام "x" أو "jsox" كمعلم الأوضاع السريعة (مثل "x"; في البداية)
  • تحسين دعم مسارات محلية نسبية في خصائص عنصر img src و path (مثل <img src="a.png" />)
  • تحسين دعم التعرف الذكي على موقع الإدراج عند استيراد فئات وحزم Java في محرر الأكواد
  • تحسين دعم استخدام المسارات كمعلمات الصور مباشرة في وحدة images
  • تحسين دعم المعلمات في استيراد الحزم باستخدام importPackage
  • تحسين دعم التعرف الذكي على عناوين IP في وضع الخادم من الحافظة ودعم التحويل الذكي باستخدام مفتاح المسافة
  • تحسين دعم إنشاء الملفات برقم تسلسلي افتراضي ومناسب مع اختيار تلقائي للبادئة في مدير الملفات
  • تحسين توفر رسائل خطأ مفصلة عند تشغيل مشروع معين في مدير الملفات issue #268
  • تحسين دعم المزيد من أنواع الملفات ودعم عرض الرموز المقابلة (يدعم أكثر من 800 نوع من الملفات) في مدير الملفات
  • تحسين إضافة زر لتعديل أنواع الملفات القابلة للتحرير (jpg/doc/pdf...) في مدير الملفات
  • تحسين إضافة دعم لعرض المعلومات الأساسية وبيانات Manifest وقائمة الأذونات لملفات APK في مدير الملفات
  • تحسين دعم عرض المعلومات الأساسية وبيانات MediaInfo للملفات الوسائطية (الصوت والفيديو) في مدير الملفات
  • تحسين دعم إدخال اسم الحزمة القياسي تلقائيًا عند تعبئة ملف فردي وتقديم تحذيرات حول الشخصيات غير الصالحة
  • تحسين دعم إعداد الأيقونة وزيادة رقم الإصدار واسم الإصدار تلقائيًا بناءً على التطبيقات المثبتة من نفس اسم الحزمة عند تعبئة ملف فردي
  • تحسين دعم تحديد وحدات ABI والمكتبات الافتراضية المتضمنة باستخدام خيارات abis/libs في ملفات تكوين المشاريع التعبئة
  • تحسين دعم الرسائل التحذيرية عند تعذر فاعلية الخيارات المحددة لـ abis/libs في ملفات تكوين المشاريع التعبئة
  • تحسين استبعاد LeakCanary في إصدارات الإنتاج لتقليل الأعباء غير الضرورية
  • تحسين إضافة ترجمات باللغة الصينية للتعليقات الإنجليزية في الشيفرة المصدرية للمشروع لتحسين قابلية القراءة للتعليقات
  • تحسين دعم README وCHANGELOG للغات متعددة (توليد النصوص تلقائيًا)
  • تحسين تحسين التكيف الذاتي لإصدارات السكريبت الإنشائي لـ Gradle
  • تحسين تعديلات على إصدارات بعض التبعيات أو المكتبات المحلية CHANGELOG.md
لمزيد من تاريخ الإصدارات، ارجع إلى

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


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

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

تحضير Android Studio

قم بتنزيل إصدار Android Studio Meerkat | 2024.3.1 Patch 1 (حدد أحدها حسب الحاجة):

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

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

تحضير Android SDK

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

في برنامج Android Studio، استخدم الاختصار CTRL + ALT + S لفتح صفحة الإعدادات:

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، فيمكنك تخطي هذا القسم.

استخدام اختصار CTRL + ALT + S في برنامج Android Studio لفتح صفحة الإعدادات:

Appearance & Behavior (الشكل العام والسلوك) -> 
System Settings (إعدادات النظام) -> 
Android SDK (مجموعة تطوير البرامج لنظام Android) -> 
SDK Tools  (أدوات SDK) (في النافذة اليمنى)

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

تحضير JDK

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

اعتبارًا من 24 April 2025، الإصدار الأقصى المدعوم من JDK لمشروع AutoJs6 هو 24.

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

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

استخدم اختصار CTRL + ALT + S في برنامج Android Studio لفتح صفحة الإعدادات:

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.

المساهمون عدد الإرساليات أحدث الإرساليات
luckyloogn 3 2025/01/01
kvii 1 2024/10/16
chenguangming (Tom) 2 2024/05/14
LZX284 (AI) 17 2023/11/19
TonyJiangWJ 4 2023/10/31
littlealei (抠脚本人) 12 2023/07/12
aiselp 6 2023/06/14
LYS86 (Lin) 2 2023/06/03

تم تحديث البيانات في 1 January 2025.

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

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

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