)
* `تحسين` دعم التعرف الذكي على موقع الإدراج عند استيراد فئات وحزم Java في محرر الأكواد
* `تحسين` دعم استخدام المسارات كمعلمات الصور مباشرة في وحدة images
* `تحسين` دعم المعلمات في استيراد الحزم باستخدام importPackage
* `تحسين` دعم التعرف الذكي على عناوين IP في وضع الخادم من الحافظة ودعم التحويل الذكي باستخدام مفتاح المسافة
* `تحسين` دعم إنشاء الملفات برقم تسلسلي افتراضي ومناسب مع اختيار تلقائي للبادئة في مدير الملفات
* `تحسين` توفر رسائل خطأ مفصلة عند تشغيل مشروع معين في مدير الملفات _[`issue #268`](http://issues.autojs6.com/268)_
* `تحسين` دعم المزيد من أنواع الملفات ودعم عرض الرموز المقابلة (يدعم أكثر من 800 نوع من الملفات) في مدير الملفات
* `تحسين` إضافة زر لتعديل أنواع الملفات القابلة للتحرير (jpg/doc/pdf...) في مدير الملفات
* `تحسين` إضافة دعم لعرض المعلومات الأساسية وبيانات Manifest وقائمة الأذونات لملفات APK في مدير الملفات
* `تحسين` دعم عرض المعلومات الأساسية وبيانات MediaInfo للملفات الوسائطية (الصوت والفيديو) في مدير الملفات
* `تحسين` دعم إدخال اسم الحزمة القياسي تلقائيًا عند تعبئة ملف فردي وتقديم تحذيرات حول الشخصيات غير الصالحة
* `تحسين` دعم إعداد الأيقونة وزيادة رقم الإصدار واسم الإصدار تلقائيًا بناءً على التطبيقات المثبتة من نفس اسم الحزمة عند تعبئة ملف فردي
* `تحسين` دعم تحديد وحدات ABI والمكتبات الافتراضية المتضمنة باستخدام خيارات abis/libs في ملفات تكوين المشاريع التعبئة
* `تحسين` دعم الرسائل التحذيرية عند تعذر فاعلية الخيارات المحددة لـ abis/libs في ملفات تكوين المشاريع التعبئة
* `تحسين` استبعاد LeakCanary في إصدارات الإنتاج لتقليل الأعباء غير الضرورية
* `تحسين` إضافة ترجمات باللغة الصينية للتعليقات الإنجليزية في الشيفرة المصدرية للمشروع لتحسين قابلية القراءة للتعليقات
* `تحسين` دعم README وCHANGELOG للغات متعددة (توليد النصوص تلقائيًا)
* `تحسين` تحسين التكيف الذاتي لإصدارات السكريبت الإنشائي لـ Gradle
* `تحسين` تعديلات على إصدارات بعض التبعيات أو المكتبات المحلية _[`CHANGELOG.md`](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG.md#v660)_
##### لمزيد من تاريخ الإصدارات، ارجع إلى
* [CHANGELOG.md](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG-ar.md)
******
### تجميع وبناء المشروع
******
لتصحيح أو تطوير مشروع AutoJs6، يمكنك استخدام [Android Studio](https://pro.autojs.org/) (منتج من [Google](https://www.google.com/)) أو [IntelliJ IDEA](https://www.jetbrains.com/idea/) (منتج من [Jetbrains](https://www.jetbrains.com/)).
يتناول هذا القسم طرق بناء وتجميع مشروع AutoJs6 المفتوح المصدر مستخدمًا Android Studio كمثال، يمكن استخدام IntelliJ IDEA بنفس الطريقة.
#### تحضير Android Studio
قم بتنزيل إصدار `Android Studio Meerkat | 2024.3.1 Patch 1` (حدد أحدها حسب الحاجة):
- [android-studio-2024.3.1.14-windows.exe](https://redirector.gvt1.com/edgedl/android/studio/install/2024.3.1.14/android-studio-2024.3.1.14-windows.exe) (1.22 GB)
- [android-studio-2024.3.1.14-windows.zip](https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2024.3.1.14/android-studio-2024.3.1.14-windows.zip) (1.23 GB)
> ملاحظة: تاريخ الإصدار بالنسخة المذكورة أعلاه هو 24 March 2025. إذا كنت بحاجة إلى تنزيل إصدار آخر، أو إذا كان الرابط المذكور غير صالح، يمكنك زيارة [أرشيف إصدارات Android Studio](https://developer.android.com/studio/archive?hl=en).
قم بتثبيت أو فك ضغط الملف المذكور سابقًا، ثم قم بتشغيل برنامج Android Studio (مثل `"D:\android-studio\bin\studio64.exe"`).
#### تحضير Android SDK
> ملاحظة: إذا كان نظام الكمبيوتر يحتوي بالفعل على Android SDK (مجموعة تطوير البرمجيات لنظام أندرويد)، فيمكنك تخطي هذا القسم.
في برنامج Android Studio، استخدم الاختصار `CTRL + ALT + S` لفتح صفحة الإعدادات:
```text
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 لفتح صفحة الإعدادات:
```text
Appearance & Behavior (الشكل العام والسلوك) ->
System Settings (إعدادات النظام) ->
Android SDK (مجموعة تطوير البرامج لنظام Android) ->
SDK Tools (أدوات SDK) (في النافذة اليمنى)
```
حدد `إظهار تفاصيل الحزمة (Show Package Details)`، وقم بالنقر على NDK و CMake، وتأكد من تحديد الأدوات الخاصة بها ,تقع معلومات إصدار أدوات SDK في ملف `version.properties` في جذر مشروع AutoJs6.
#### تحضير JDK
يعتمد مشروع AutoJs6 على إصدار `JDK (مجموعة تطوير جافا)` بإصدار لا يقل عن `17`، ولكن يفضل الإصدار الذي لا يقل عن `19`.
اعتبارًا من 16 April 2025، الإصدار الأقصى المدعوم من JDK لمشروع AutoJs6 هو `24`.
> ملاحظة: إذا كان نظام الكمبيوتر يحتوي على JDK والإصدار يفي بالمتطلبات المذكورة أعلاه، فيمكنك تخطي هذا القسم.
يمكن تنزيل JDK مباشرةً باستخدام IDE، أو زيارة [موقع Oracle](https://www.oracle.com/java/technologies/downloads/) لتنزيله.
استخدم اختصار `CTRL + ALT + S` في برنامج Android Studio لفتح صفحة الإعدادات:
```text
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 (نظام التحكم في الإصدار الموزع)](https://git-scm.com/download).
#### بناء مشروع 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](http://issues.autojs6.com) لمشروع AutoJs6.
> ملحوظة: لمزيد من التفاصيل حول كيفية بناء وتشغيل التطبيق، يرجى الرجوع إلى [Android Docs](https://developer.android.com/studio/run?hl=en)
#### نشر مشروع 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](https://developer.android.com/build/build-for-release?hl=en)
#### مهام بناء 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](http://dts-project.autojs6.com).
بعد تشغيل المهمة، يتم إنتاج أحدث ملف JAR لمشروع AutoJs6. باستخدام أداة [Android d.ts Generator](https://github.com/NativeScript/android-dts-generator) (من [NativeScript](https://github.com/NativeScript)) يمكنك إنشاء تعريفات الأنواع (بتنسيق d.ts) للتطبيق الرئيسي لـ AutoJs6.
- AutoJs6 [app:digest]
إلحاق معلومات الملخص بملف APK الذي تم إنتاجه من بناء الإصدار، وذلك لتحديد الاسم النهائي للملف قبل نشر أحدث نسخة من AutoJs6 على GitHub.
فيما يلي مقارنة بين أسماء الملفات قبل وبعد إلحاق معلومات الملخص:
```text
قبل:
autojs6-v6.6.2-arm64-v8a.apk
بعد:
autojs6-v6.6.2-arm64-v8a-0f2a9d74.apk
```
> مرجع: [Android Docs](https://developer.android.com/studio/run?hl=zh-cn)
******
### مساعدة تطوير السكريبت
******
لتطوير سكربتات يمكن تشغيلها بواسطة AutoJs6، تحتاج إلى استخدام أدوات تطوير مناسبة:
- [VSCode](https://code.visualstudio.com/download) / [WebStorm](https://www.jetbrains.com/webstorm/download/) / [HBuilderX](https://www.dcloud.io/hbuilderx.html) ...
إذا كنت بحاجة إلى كتابة وتصحيح السكربتات على الكمبيوتر الشخصي، يمكن لمكون VSCode الإضافي تحقيق الاتصال بين الكمبيوتر والهاتف:
- [AutoJs6-VSCode-Extension](http://vscext-project.autojs6.com) - مصحح الأخطاء لـ AutoJs6 (مكون إضافي لـ VSCode)
أثناء كتابة الكود باستخدام أدوات التطوير، يمكن أن تساعد ميزة الإكمال التلقائي الذكية في إكمال الكود:
- [AutoJs6-TypeScript-Declarations](http://dts-project.autojs6.com) - ملفات تعريف AutoJs6 (إكمال الكود الذكي)
أثناء كتابة الكود، يمكن الرجوع إلى الوثائق التطبيقية لـ AutoJs6 والمعلومات حول استخدام API ذات الصلة:
- [AutoJs6-Documentation](http://docs-project.autojs6.com) - وثائق تطبيق AutoJs6
مشاريع تطوير السكربتات الموجودة يمكن أن تكون مرجعًا وإلهامًا لإنشاء المشاريع الشخصية:
- [Ant-Forest](https://github.com/TonyJiangWJ/Ant-Forest) - سكربت لجمع الطاقة تلقائيًا في غابة النمل بواسطة [TonyJiangWJ](https://github.com/TonyJiangWJ)
- [Ant-Forest](https://github.com/SuperMonster003/Ant-Forest) - سكربت لجمع الطاقة تلقائيًا في غابة النمل بواسطة [SuperMonster003](https://github.com/SuperMonster003)
- [autojs](https://github.com/e1399579/autojs) - سكربتات مفيدة لـ Auto.js بواسطة [e1399579](https://github.com/e1399579)
- [autojsDemo](https://github.com/snailuncle/autojsDemo) - أمثلة تجريبية لـ Auto.js بواسطة [snailuncle](https://github.com/snailuncle)
- [المستودعات ذات الصلة بـ autojs](https://github.com/topics/autojs) - جميع المستودعات المتعلقة بـ autojs على GitHub
******
### المشاركة بالإسهام
******
شكرًا لكل من ساهم في تطوير مشروع AutoJs6.
| المساهمون | عدد الإرساليات | أحدث الإرساليات |
|:-------------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------:|
| [luckyloogn](https://github.com/luckyloogn) | [3](https://github.com/SuperMonster003/AutoJs6/commits?author=luckyloogn) | `2025/01/01` |
| [kvii](https://github.com/kvii) | [1](https://github.com/SuperMonster003/AutoJs6/commits?author=kvii) | `2024/10/16` |
| [chenguangming](https://github.com/chenguangming) `(Tom)` | [2](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+author%3Achenguangming) | `2024/05/14` |
| [LZX284](https://github.com/LZX284) `(AI)` | [17](https://github.com/SuperMonster003/AutoJs6/commits?author=LZX284) | `2023/11/19` |
| [TonyJiangWJ](https://github.com/TonyJiangWJ) | [4](https://github.com/SuperMonster003/AutoJs6/commits?author=TonyJiangWJ) | `2023/10/31` |
| [little‑alei](https://github.com/little-alei) `(抠脚本人)` | [12](https://github.com/SuperMonster003/AutoJs6/commits?author=little-alei) | `2023/07/12` |
| [aiselp](https://github.com/aiselp) | [6](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+author%3Aaiselp) | `2023/06/14` |
| [LYS86](https://github.com/LYS86) `(Lin)` | [2](https://github.com/SuperMonster003/AutoJs6/commits?author=LYS86) | `2023/06/03` |
تم تحديث البيانات في 1 January 2025.
تم تصنيف سجلات البيانات بترتيب تنازلي حسب `أحدث الإرساليات`.
طلبات السحب الجديدة غير المعالجة بعد، سيتم إدراجها في الإحصاءات بعد الدمج.
بعض المساهمين قد لا يظهرون بشكل صحيح في [GitHub Contributors](https://github.com/SuperMonster003/AutoJs6/graphs/contributors)، سجلات إسهاماتهم قد تكون فارغة، لكن يمكن مراجعة سجلات الإسهامات عبر [Pull Request](https://github.com/SuperMonster003/AutoJs6/pulls).
[//]: # (
# --------------------------------------------------------------#
# Before committing and pushing to the remote GitHub repository #
# --------------------------------------------------------------#
- CHANGELOG.md
- Update entries for AutoJs6 by checking all changed files
- Update entries for Gradle plugins [ implementation ]
- Update version name and released date
- Append related GitHub issues to changelog entries
- README.md
- The summary of the latest changelog for committing to Git [ DO NOT commit or push ]
- Update badges like [ android studio / rhino / ... ]
- Update android studio download links and version names
- Update contribution section
- Remove the part like [ alpha / beta / ... ] of VERSION_NAME in version.properties
- Update dependencies TypeScript declarations if needed.
- Re-generate documentation/markdown by running the python script
- Check the two-way versions for AutoJs6 and VSCode ext, then publish the ext to Microsoft
- Run Gradle task "app:assembleInrtRelease"
- Build APK to determine the final VERSION_BUILD field
- Run Gradle task "app:appendDigestToReleasedFiles"
- Check VERSION_BUILD in version.properties with released apks
- Commit and push to GitHub
- Publish the latest release with signed APKs
)