Files
AutoJs6/.readme/README-ar.md

58 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 - < 5.94 >
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 - < 3.91 >
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.55 >
AutoX Autox.js v7 aiselp 2024/04/21 - < 1.52 >
Autoxjs_v6_ozobi Autox.js v6_ozobi ozobiozobi 2024/10/01 - < 1.07 >
AutoX Autox.js v6 autox-community 2025/03/30 - < 0.58 >

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

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

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

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


الوظائف


  • يمكن استخدامه كبيئة تطوير تكاملية (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 إلى v1.8.1-SNAPSHOT (تم التحديث في 5 October 2025)

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


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
  • تصليح قد يتم حجب بعض محتوى الوثائق عبر الإنترنت في تبويب 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
  • تحسين مصحح التخطيط يدعم إخفاء العناصر (بواسطة TonyJiangWJ) pr #371 issue #355
  • تحسين إضافة فواصل متدرّجة في قائمة مصحح التخطيط لتجميع الوظائف
  • تحسين يدعم 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

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
لمزيد من تاريخ الإصدارات، ارجع إلى

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


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

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

تحضير Android Studio

قم بتنزيل إصدار Android Studio Narwhal 4 Feature Drop | 2025.1.4 (حدد أحدها حسب الحاجة):

ملاحظة: تاريخ الإصدار بالنسخة المذكورة أعلاه هو 9 October 2025. إذا كنت بحاجة إلى تنزيل إصدار آخر، أو إذا كان الرابط المذكور غير صالح، يمكنك زيارة أرشيف إصدارات 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.

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

ملاحظة: إذا كان نظام الكمبيوتر يحتوي على 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.

المساهمون عدد الإرساليات أحدث الإرساليات
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
littlealei (抠脚本人) 12 2023/07/12
aiselp 6 2023/06/14
LYS86 (Lin) 2 2023/06/03

تم تحديث البيانات في 6 September 2025.

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

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

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