62 KiB
اللغات
ملف README.md الحالي يدعم اللغات التالية:
- 简体中文 [zh-Hans]
- 繁體中文 (香港) [zh-Hant-HK]
- 繁體中文 (台灣) [zh-Hant-TW]
- English [en]
- Français [fr]
- Español [es]
- 日本語 [ja]
- 한국어 [ko]
- Русский [ru]
- العربية [ar] # حالي
المقدمة
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.81 > |
| 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.78 > |
| 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 |
| AutoX | Autox.js v7 | aiselp | 2024/04/21 |
- | < 1.39 > |
| Autoxjs_v6_ozobi | Autox.js v6_ozobi | ozobiozobi | 2024/10/01 |
- | < 0.94 > |
| AutoX | Autox.js v6 | autox-community | 2025/03/30 |
- | < 0.45 > |
التواريخ في الجدول هي تقديرات وقد تختلف عن الواقع.
في الجدول، تعد إصدارات Auto.js Pro 7/8/9 مدفوعة، والبقية مفتوحة المصدر ومجانية.
في الجدول، تشير البيانات في العمود تاريخ نهاية التطوير التي تحتوي على أقواس مربعة ([]) إلى أن مشروع المصدر المفتوح غير متاح مؤقتًا.
في الجدول، يتم احتساب البيانات في العمود فترة الصيانة النشطة التي تحتوي على أقواس زاوية (<>) حتى 9 September 2025.
الوظائف
- يمكن استخدامه كبيئة تطوير تكاملية (IDE) لـ JavaScript (إكمال الكود / إعادة تسمية المتغيرات / تنسيق الكود)
- دعم تشغيل الأتمتة باستناد إلى خدمة الوصول
- دعم الإجراءات السريعة لزر الطفو (تسجيل وتشغيل السكربت / عرض حزمة النشاط / تحليل التخطيط)
- دعم واجهة برمجة التطبيقات الخاصة بالموصل وتوفير التصفح/استرجاع المعلومات/تشغيل الموصلات (مشابه لـ UiAutomator)
- دعم تحليل واجهة التخطيط (مشابه لـ LayoutInspector في Android Studio)
- دعم ميزة التسجيل وتشغيل التسجيل
- دعم لقطة الشاشة/حفظ لقطة الشاشة/البحث عن اللون في الصورة/مطابقة الصورة
- دعم كتابة الواجهة باستخدام E4X (ECMAScript for XML)
- دعم تجميع ملفات أو مشاريع السكربت إلى ملفات APK
- دعم توسيع الميزات باستخدام صلاحيات الروت (النقر, السحب, التسجيل, أوامر shell)
- دعم الاستخدام كمكون إضافي لـ Tasker
- دعم الاتصال بـ VSCode وتطوير سطح المكتب (تحتاج إلى المكون الإضافي AutoJs6-VSCode-Extension)
البيئة
الدليل
- وثائق التطبيق
- دليل المستخدم (قيد الإنشاء)
- استكشاف الأخطاء وإصلاحها
- تجميع وبناء المشروع
- مساعدة تطوير السكريبت
التغييرات الرئيسية
مقارنةً بالإصدار النهائي المفتوح المصدر لـ 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 (تم التحديث في 11 April 2025)
- دعم هروب نقطة الرمز Unicode للأحرف متعددة المستويات
'\u{1D160}'; /* تمثل "𝅘𝅥𝅮", طريقة تقليدية: '\uD834\uDD60'. */ - دعم Object.values()
Object.values({name: 'Max', age: 4}); // ['max', 4] - دعم Array.prototype.includes()
[10, 20, NaN].includes(20); // true - دعم BigInt
typeof 567n === 'bigint'; // true - دعم القوالب النصية
`Lucky number: ${(Math.random() * 100).toFixed(0)}` - عرض المزيد من الميزات الجديدة لمحرك Rhino
- عرض قائمة التوافق لمحرك Rhino
- دعم هروب نقطة الرمز Unicode للأحرف متعددة المستويات
تاريخ الإصدارات
v6.6.4
2025/05/31
تلميحتغيير API: ui.(status/navigation)BarAppearanceLight[By] -> ui.(status/navigation)BarIconLight[By]إضافة جديدةطرق util.dpToPx/spToPx/pxToDp/pxToSp لتحويل وحدات البكسلتصليحمشكلة عرض العنوان الفرعي بشكل غير مكتمل عند تدوير الشاشة إلى الوضع الأفقيتصليحمشكلة تغطية جزء من محتوى الصفحة بواسطة شريط التنقل الجانبي عند التدوير إلى الوضع الأفقيتصليحمنطقة تلوين خلفية شريط الحالة غير مكتملة في بعض الصفحات على Android 15issue #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 لا تدعم الخاصية customViewissue #364تصليحقد لا يُرجع معامِل التعبير في dialogs.input نتيجة التنفيذتصليحاستخدام JavaAdapter يسبب تجاوز مكدس ClassLoaderissue #376تصليحconsole.setContentTextColor يفقد اللون الافتراضي للنصissue #346تصليحconsole.setContentBackgroundColor لا يقبل أسماء الألوانissue #384تصليحتم تصحيح آلية images.compress: تغيّر جودة التشفير بدل خفض البكسلاتتصليحالدالة images.resize لا تعمل بشكل صحيحتصليحengines.all قد يطلق ConcurrentModificationExceptionissue #394تصليحتنسيقات تاريخ غير صحيحة في بعض اللغات داخل README.mdتصليحقد تفشل عملية بناء Gradle بسبب طول غير صالح لأرشيف مكتبةissue #389تحسينمصحح التخطيط يدعم إخفاء العناصر (بواسطة TonyJiangWJ)pr #371issue #355تحسينإضافة فواصل متدرّجة في قائمة مصحح التخطيط لتجميع الوظائفتحسينيدعم project.json خيار permissions لمشاريع السكربتات (بواسطة wirsnow)pr #391issue #362تحسينعند حزم ملف واحد تُقرأ أذونات التطبيق المثبت وتُحدد تلقائيًاissue #362تحسينتوسيع نطاق تطبيق لون السمة ودعم المزيد من عناصر الواجهةتحسينتكيّف عرض الدرج الرئيسي للشاشات الأفقية والعريضة جدًاتحسينإضافة تخطيطات أفقية وصغيرة للصفحات «حول التطبيق» و«المطور»تحسينحوار إعدادات يوفر خيار "استخدام القيمة الافتراضية"تحسينزر الإجراء العائم في مدير الملفات يختفي تلقائيًا عند النقر خارجَهتحسينمُنسّق الشيفرة يدعم العناصر??و?.و??=تحسينيدعم محرّر الشيفرة قراءة وكتابة الملفات بترميزات GB18030 / UTF-16 (LE/BE) / Shift_JIS وغيرهاتحسينيدعم محرّر الشيفرة عرض معلومات تفصيلية عن الملف (المسار/الترميز/فاصل الأسطر/إجمالي البايتات والحروف، إلخ.)issue #395تحسينإضافة رسائل خطأ لعمليات Intent (تحرير/عرض/تثبيت/إرسال/تشغيل وغيرها)تحسينخاصية url في webview تدعم المسارات النسبيةتحسينوسيط path في ImageWrapper#saveTo يدعم المسارات النسبيةتحسينimages.save يدعم ضغط ملفات PNG عند استخدام الوسيط qualityissue #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.xissue #293تصليحالمشكلة التي كان فيها ScriptRuntime قد يظهر حالة تزامن غير طبيعية عند استخدام require لاستيراد الوحدات المدمجة (حل مؤقت)issue #298تصليحالمشكلة التي كان فيها وحدة notice تفتقر إلى طرق التمديد مثل getBuilderissue #301تصليحالمشكلة التي كان فيها طرق shizuku/shell لا تقبل معاملات نصيةissue #310تصليحالمشكلة التي كان فيها طريقة colors.pixel لا تقبل معاملات الصور ذات القناة الواحدةissue #350تصليحالمشكلة التي كان فيها طرق engines.execScript/execScriptFile تستخدم مسار عمل افتراضي غير صحيح عند تنفيذ السكريبتاتissue #358issue #340issue #339تصليحالمشكلة التي كان فيها floaty.window/floaty.rawWindow لا يمكن تنفيذها في الخيوط الثانويةتصليحالمشكلة التي كان فيها floaty.getClip قد لا يسترجع محتوى الحافظة بشكل صحيحissue #341تصليحالمشكلة التي كان فيها ناتج ui.inflate يفتقد إلى طرق البروتوتايب مثل attr و on و clickتصليحمشكلة يتم فيها ربط سياق النطاق بشكل غير صحيح عند استخدام صياغة XML لاستخدام تعبير JavaScript كقيمة لخاصيةissue #319تصليحالمشكلة التي كانت فيها استثناءات بعض الطرق لا يتم التقاطها بواسطة كتلة try..catchissue #345تصليحالمشكلة التي كان فيها توليد الكود في صفحة تحليل التخطيطات قد يؤدي إلى تعطل التطبيقissue #288تصليحالمشكلة التي كان فيها التطبيقات المعبأة لا يمكنها استخدام وحدة shizuku بشكل صحيحissue #227issue #231issue #284issue #287issue #304تصليحالمشكلة في محرر الكود حيث الانتقال إلى نهاية السطر قد ينقل المؤشر إلى بداية السطر التاليتصليحالمشكلة التي كان فيها النقر المتتالي السريع على العناصر الحوارية في صفحة الإعدادات قد يؤدي إلى تعطل التطبيقتحسينتحسين حجم ملف APK في قالب التطبيق المعبأتحسينالتطبيق (والتطبيقات المعبأة) الآن يدعم المزيد من الأذوناتissue #338تحسينتمت إضافة خيار لمكتبة Pinyin في صفحة التعبئةتحسينتحسين خلفية شريط الحالة ولون النص في الصفحة الرئيسية للتطبيقات المعبأةتحسينإضافة مفاتيح لتبديل الأذونات الخاصة (الوصول إلى جميع الملفات وإرسال الإشعارات) في صفحة إعدادات التطبيقات المعبأةissue #354تحسينالتكيف التلقائي لألوان نصوص وأيقونات عناصر التحكم بناءً على سطوع لون الموضوعتحسينتحسين التجربة البصرية عند انخفاض التباين بين لون عنصر التحكم وخلفيتهتحسينتحسين توافقية حقل إدخال HEX في لوحة الألوان عند لصق القيم من الحافظةتحسينتعيين شريط التنقل في التطبيق ليكون شفافاً أو شبه شفاف لتحسين التجربة البصريةتحسينوضع واجهة المستخدم الافتراضي لشريط الحالة وشريط التنقل مضبوط على اللونmd_grey_50في الوضع الفاتحتحسينمفتاح خدمة إمكانية الوصول في القائمة الرئيسية يتزامن الآن مع كود السكريبتتحسينصفحة الوثائق في الصفحة الرئيسية تدعم الآن أزرار البحث الثنائي الاتجاهتحسينعلامة تبويب "الملفات" في الصفحة الرئيسية تسمح بتغيير ظهور الزر العائم عبر الضغط المطولتحسينعنوان محرر الكود يدعم الآن تغيير حجم الخط تلقائياًتحسينظهور الزر العائم في صفحة السجلات مرتبط بحركات التمرير في القائمةتحسينملف إعداد project.json لمشروع السكريبت يدعم الآن المزيد من خيارات التعبئةissue #305issue #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 3 Feature Drop | 2025.1.3 (حدد أحدها حسب الحاجة):
- android-studio-2025.1.3.7-windows.exe (1.33 GiB)
- android-studio-2025.1.3.7-windows.zip (1.34 GiB)
ملاحظة: تاريخ الإصدار بالنسخة المذكورة أعلاه هو 2 September 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.
اعتبارًا من 9 September 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-VSCode-Extension - مصحح الأخطاء لـ AutoJs6 (مكون إضافي لـ VSCode)
أثناء كتابة الكود باستخدام أدوات التطوير، يمكن أن تساعد ميزة الإكمال التلقائي الذكية في إكمال الكود:
- AutoJs6-TypeScript-Declarations - ملفات تعريف AutoJs6 (إكمال الكود الذكي)
أثناء كتابة الكود، يمكن الرجوع إلى الوثائق التطبيقية لـ AutoJs6 والمعلومات حول استخدام API ذات الصلة:
- AutoJs6-Documentation - وثائق تطبيق AutoJs6
مشاريع تطوير السكربتات الموجودة يمكن أن تكون مرجعًا وإلهامًا لإنشاء المشاريع الشخصية:
- Ant-Forest - سكربت لجمع الطاقة تلقائيًا في غابة النمل بواسطة TonyJiangWJ
- Ant-Forest - سكربت لجمع الطاقة تلقائيًا في غابة النمل بواسطة SuperMonster003
- autojs - سكربتات مفيدة لـ Auto.js بواسطة e1399579
- autojsDemo - أمثلة تجريبية لـ Auto.js بواسطة snailuncle
- المستودعات ذات الصلة بـ autojs - جميع المستودعات المتعلقة بـ autojs على GitHub
المشاركة بالإسهام
شكرًا لكل من ساهم في تطوير مشروع 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 |
little‑alei (抠脚本人) |
12 | 2023/07/12 |
| aiselp | 6 | 2023/06/14 |
LYS86 (Lin) |
2 | 2023/06/03 |
تم تحديث البيانات في 6 September 2025.
تم تصنيف سجلات البيانات بترتيب تنازلي حسب أحدث الإرساليات.
طلبات السحب الجديدة غير المعالجة بعد، سيتم إدراجها في الإحصاءات بعد الدمج.
بعض المساهمين قد لا يظهرون بشكل صحيح في GitHub Contributors، سجلات إسهاماتهم قد تكون فارغة، لكن يمكن مراجعة سجلات الإسهامات عبر Pull Request.
