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 |
| 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.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
v6.5.0
2023/12/02
إضافة جديدةإضافة وحدة opencc (مرجع إلى وثائق المشروع > تحويل النصوص الصينية) (مرجع إلى LZX284)إضافة جديدةإضافة طريقتي plus و append إلى UiSelector -issue #115إضافة جديدةإضافة دعم تصفية ABI والمكتبات في صفحة تغليف التطبيق (مرجع إلى AutoX) -issue #189تصليحإصلاح مشكلة الحجم الكبير غير العادي للتطبيقات المغلفة (مرجع إلى AutoX و LZX284) -issue #176تصليحإصلاح مشكلة عرض وطباعة بعض رسائل الخطأ في التطبيقات المغلفةتصليحإصلاح مشكلة عرض أيقونة فارغة عند اختيار أيقونة التطبيق في صفحة التغليفتصليحإصلاح خطأ تهيئة السياق الغير مهيأ عند تضمين مكتبة MLKit Google OCR في التطبيقات المغلفةتصليحإصلاح عدم فعالية طرق ocr.mlkit/ocr.recognizeText/detectتصليحإصلاح عدم تطابق لغة النصوص المعروضة مع لغة الإعدادات في بعض النصوص (مثل صفحة السجلات)تصليحإصلاح مشكلة تجاوز النص لحدود الصفحة في بعض اللغات ضمن مفتاح زوار الصفحة الرئيسيةتصليحإصلاح مشكلة إغلاق خدمة الوصول تلقائيًا بعد تفعيلها دون أي رسالة تحذيرية في بعض الأجهزة -issue #181تصليحإصلاح مشكلة تعطل التطبيق بعد تفعيل خدمة الوصول بسبب استخدام الأزرار الفيزيائية في بعض الأجهزة (محاولة تصحيح) -issue #183issue #186تصليحإصلاح خلل في وظيفة pickup بعد إعادة تشغيل خدمة الوصول باستخدام auto(true) (محاولة تصحيح) -issue #184تصليحإصلاح مشكلة تعطل التطبيق عند سحب نافذة التعويم في وحدة floaty (محاولة تصحيح)تصليحإصلاح مشكلة عدم القدرة على استخدام معايير مختصرة في app.startActivity -issue #182issue #188تصليحإصلاح مشكلة عدم القدرة على استيراد الأسماء المتعارضة مع المتغيرات العالمية باستخدام importClass -issue #185تصليحإصلاح مشكلة عدم القدرة على استخدام خدمة الوصول في Android 7.xتصليحإصلاح مشكلة عدم القدرة على استخدام طرق runtime.loadJar/loadDex في Android 14 (محاولة تصحيح)تصليحإصلاح مشكلة عدم القدرة على استخدام "تحليل النطاق التخطيطي" و"تحليل التسلسل التخطيطي" ضمن لوحة الإعدادات السريعة لأنظمة Android -issue #193تصليحإصلاح مشكلة تأخير التطبيق نتيجة فحص التحديث التلقائي (محاولة تصحيح) -issue #186تصليحإصلاح مشكلة عدم الرجوع إلى صفحة مسار العمل بعد النقر على زر "الصعود" في صفحة مدير الملفات -issue #129تصليحإصلاح مشكلة عدم ظهور زر الاستبدال في وظيفة الاستبدال بمحرر الأكوادتصليحإصلاح مشكلة تعطل التطبيق عند الضغط المطول لحذف رمز في محرر الأكواد (محاولة تصحيح)تصليحإصلاح مشكلة عدم ظهور لوحة الوظائف السريعة لوحدة fx عند النقر عليها في محرر الأكوادتصليحإصلاح مشكلة تجاوز النص لحدود الأزرار في لوحة الوظائف السريعة بمحرر الأكوادتحسينيتكيف لوح الوظائف السريع في وحدة محرر الأكواد مع الوضع الليلي.تحسينتتكيف صفحة البدء لتطبيق الحزمة مع الوضع الليلي ويتم تعديل تخطيط أيقونات التطبيق.تحسينتدعم صفحة التطبيق المغلفة التنقل بالمؤشر باستخدام مفتاح ENTER على لوحة المفاتيح البرمجية.تحسينتدعم صفحة التطبيق المغلفة تغيير حالة التحديد الكامل عند النقر فوق عناوين ABI والمكتبة.تحسينتم جعل التحديد الافتراضي لـ ABI ذكيًا في صفحة التطبيق المغلفة مع إضافة مطالبات إرشادية للعناصر غير القابلة للتحديد.تحسينيقوم مدير الملفات بتعديل عرض عناصر القائمة بناءً على النوع وخصائص الملفات والمجلدات.تحسينيضيف قائمة النقر بزر الماوس الأيمن للمدير الملفات خيار تغليف التطبيقات.تحسينعند تمكين خدمات الوصول ولكنها تعمل بشكل غير صحيح، يتم عكس حالة الشذوذ في مفتاح التبديل في الصفحة الرئيسية لـ AutoJs6.تحسينتتضمن وحدة التحكم معلومات مفصلة عن المكدس عند طباعة رسائل الخطأ.تحسينتعديلات على إصدارات بعض التبعيات أو المكتبات المحليةCHANGELOG.md
لمزيد من تاريخ الإصدارات، ارجع إلى
تجميع وبناء المشروع
لتصحيح أو تطوير مشروع AutoJs6، يمكنك استخدام Android Studio (منتج من Google) أو IntelliJ IDEA (منتج من Jetbrains).
يتناول هذا القسم طرق بناء وتجميع مشروع AutoJs6 المفتوح المصدر مستخدمًا Android Studio كمثال، يمكن استخدام IntelliJ IDEA بنفس الطريقة.
تحضير Android Studio
قم بتنزيل إصدار Android Studio Meerkat | 2024.3.1 Patch 1 (حدد أحدها حسب الحاجة):
- android-studio-2024.3.1.14-windows.exe (1.22 GB)
- android-studio-2024.3.1.14-windows.zip (1.23 GB)
ملاحظة: تاريخ الإصدار بالنسخة المذكورة أعلاه هو 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.
اعتبارًا من 11 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-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.
| المساهمون | عدد الإرساليات | أحدث الإرساليات |
|---|---|---|
| luckyloogn | 3 | 2025/01/01 |
| kvii | 1 | 2024/10/16 |
| chenguangming | 2 | 2024/05/14 |
| LZX284 | 17 | 2023/11/19 |
| TonyJiangWJ | 4 | 2023/10/31 |
| little‑alei | 12 | 2023/07/12 |
| aiselp | 6 | 2023/06/14 |
| LYS86 | 2 | 2023/06/03 |
تم تحديث البيانات في 1 January 2025.
تم تصنيف سجلات البيانات بترتيب تنازلي حسب أحدث الإرساليات.
طلبات السحب الجديدة غير المعالجة بعد، سيتم إدراجها في الإحصاءات بعد الدمج.
بعض المساهمين قد لا يظهرون بشكل صحيح في GitHub Contributors، سجلات إسهاماتهم قد تكون فارغة، لكن يمكن مراجعة سجلات الإسهامات عبر Pull Request.
