64 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 |
| 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)
البيئة
الدليل
- وثائق التطبيق
- دليل المستخدم (قيد الإنشاء)
- استكشاف الأخطاء وإصلاحها
- تجميع وبناء المشروع
- مساعدة تطوير السكريبت
التغييرات الرئيسية
مقارنةً بالإصدار النهائي المفتوح المصدر لـ 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
- دعم هروب نقطة الرمز 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.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
v6.6.1
2025/01/01
إضافة جديدةوحدة Pinyin لتحويل النصوص الصينية إلى بينيين (راجع وثائق المشروع > البينيين الصيني)إضافة جديدةوحدة Pinyin4j لتحويل النصوص الصينية إلى بينيين (راجع وثائق المشروع > البينيين الصيني)إضافة جديدةالطرق UiObject#isSimilar و UiObjectCollection#isSimilar لتحديد ما إذا كان العنصر أو مجموعة العناصر متشابهةإضافة جديدةالطريقة العامة "currentComponent"، تُستخدم للحصول على اسم المكون النشط الحاليتصليحمشكلة عدم قدرة المشروع على التجميع بشكل صحيح في بعض البيئات بسبب الرجوع إلى إصدار أقدمتصليحخطأ "قيمة غير أولية" قد يحدث عند استدعاء طرق غير موجودةتصليحمشكلة عدم إمكانية إضافة اختصارات النصوص على بعض الأجهزة (إصلاح مؤقت)issue #221تصليحخطأ في قيود نوع الوسائط للطرق automator.click/longClickissue #275تصليحمشكلة عدم دعم المصفوفات مع الوسائط من نوع ConsStringissue #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 #202issue #223pr #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 2 (حدد أحدها حسب الحاجة):
- android-studio-2024.3.1.15-windows.exe (1.22 GB)
- android-studio-2024.3.1.15-windows.zip (1.23 GB)
ملاحظة: تاريخ الإصدار بالنسخة المذكورة أعلاه هو 21 April 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.
اعتبارًا من 22 May 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-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.
| المساهمون | عدد الإرساليات | أحدث الإرساليات |
|---|---|---|
| TonyJiangWJ | 5 | 2025/04/24 |
| luckyloogn | 3 | 2025/01/01 |
| kvii | 1 | 2024/10/16 |
chenguangming (Tom) |
2 | 2024/05/14 |
LZX284 (AI) |
17 | 2023/11/19 |
little‑alei (抠脚本人) |
12 | 2023/07/12 |
| aiselp | 6 | 2023/06/14 |
LYS86 (Lin) |
2 | 2023/06/03 |
تم تحديث البيانات في 13 May 2025.
تم تصنيف سجلات البيانات بترتيب تنازلي حسب أحدث الإرساليات.
طلبات السحب الجديدة غير المعالجة بعد، سيتم إدراجها في الإحصاءات بعد الدمج.
بعض المساهمين قد لا يظهرون بشكل صحيح في GitHub Contributors، سجلات إسهاماتهم قد تكون فارغة، لكن يمكن مراجعة سجلات الإسهامات عبر Pull Request.
