708 lines
86 KiB
Markdown
708 lines
86 KiB
Markdown
<!--suppress HtmlDeprecatedAttribute, HttpUrlsUsage -->
|
||
|
||
<div align="center">
|
||
<p>
|
||
<img src="https://s1.imagehub.cc/images/2023/03/07/af8ed087c9d354b9ab6142aae7bbafb6.png" alt="autojs6-banner_800×224" border="0" width="704" />
|
||
</p>
|
||
|
||
<p>أداة أتمتة JavaScript لنظام Android مدعومة بخدمة الوصول</p>
|
||
|
||
<p>
|
||
<a href="http://download.autojs6.com"><img alt="GitHub release (latest by date)" src="https://img.shields.io/github/v/release/SuperMonster003/AutoJs6?label=Release"/></a>
|
||
<a href="http://issues.autojs6.com"><img alt="GitHub closed issues" src="https://img.shields.io/github/issues/SuperMonster003/AutoJs6?color=A24232&label=Issues"/></a>
|
||
<a href="http://commit.autojs6.com/99a1d8490fac5b6d55f6f183db59ad833a2064ed"><img alt="Created" src="https://img.shields.io/date/1636632233?color=2e7d32&label=Created"/></a>
|
||
<br>
|
||
<a href="https://developer.android.com/studio/archive"><img alt="Android Studio" src="https://img.shields.io/badge/Android%20Studio-2023.3+-B64FC8"/></a>
|
||
<a href="https://www.jetbrains.com/idea/download/other.html"><img alt="IntelliJ IDEA" src="https://img.shields.io/badge/IntelliJ%20IDEA-2023.3+-EE4677"/></a>
|
||
<br>
|
||
<a href="https://github.com/mozilla/rhino"><img alt="Rhino" src="https://img.shields.io/badge/Rhino-2.0.0--SNAPSHOT-795548"/></a>
|
||
<a href="https://www.jetbrains.com/?from=AutoJs6"><img alt="JetBrains supporter" src="https://img.shields.io/badge/Supporter-JetBrains-AA2786"/></a>
|
||
<a href="http://project.autojs6.com/blob/master/LICENSE"><img alt="GitHub License" src="https://img.shields.io/github/license/SuperMonster003/AutoJs6?color=534BAE&label=License"/></a>
|
||
</p>
|
||
</div>
|
||
|
||
******
|
||
|
||
### اللغات
|
||
|
||
******
|
||
|
||
ملف README.md الحالي يدعم اللغات التالية:
|
||
|
||
- [简体中文 [zh-Hans]](http://project.autojs6.com/blob/master/.readme/README-zh-Hans.md)
|
||
- [繁體中文 (香港) [zh-Hant-HK]](http://project.autojs6.com/blob/master/.readme/README-zh-Hant-HK.md)
|
||
- [繁體中文 (台灣) [zh-Hant-TW]](http://project.autojs6.com/blob/master/.readme/README-zh-Hant-TW.md)
|
||
- [English [en]](http://project.autojs6.com/blob/master/.readme/README-en.md)
|
||
- [Français [fr]](http://project.autojs6.com/blob/master/.readme/README-fr.md)
|
||
- [Español [es]](http://project.autojs6.com/blob/master/.readme/README-es.md)
|
||
- [日本語 [ja]](http://project.autojs6.com/blob/master/.readme/README-ja.md)
|
||
- [한국어 [ko]](http://project.autojs6.com/blob/master/.readme/README-ko.md)
|
||
- [Русский [ru]](http://project.autojs6.com/blob/master/.readme/README-ru.md)
|
||
- العربية [ar] # حالي
|
||
|
||
******
|
||
|
||
### المقدمة
|
||
|
||
******
|
||
|
||
[Auto.js](https://github.com/hyb1996/Auto.js) هو برنامج أتمتة JavaScript مدعوم على منصة Android مع [خدمة الوصول](https://developer.android.com/guide/topics/ui/accessibility/service?hl=zh-cn).
|
||
|
||
تم إصدار Auto.js لأول مرة بواسطة [hyb1996](https://github.com/hyb1996) في `2017/01/27`، وتوقف الصيانة في `2020/03/13`، وكان الإصدار الأخير هو `4.1.1 Alpha2` ورقم البنية `461`.
|
||
|
||
تم تطوير AutoJs6 استنادًا إلى المشروع النهائي لـ Auto.js في `2021/12/01`، ويستمر في أن يكون مفتوح المصدر ومجاني.
|
||
|
||
الجدول أدناه يضم بعض المشاريع ذات الصلة بـ Auto.js (مرتبة حسب تاريخ التطوير):
|
||
|
||
| <span style="word-break:keep-all;white-space:nowrap">المشروع</span> | <span style="word-break:keep-all;white-space:nowrap">اسم التطبيق</span> | <span style="word-break:keep-all;white-space:nowrap">المطورون الرئيسيون</span> | <span style="word-break:keep-all;white-space:nowrap">تاريخ بداية التطوير</span> | <span style="word-break:keep-all;white-space:nowrap">تاريخ نهاية التطوير</span> | <span style="word-break:keep-all;white-space:nowrap">فترة الصيانة النشطة (سنة)</span> |
|
||
|:------:|:------:|:------:|:------:|:------:|:------:|
|
||
| <span style="word-break:keep-all;white-space:nowrap">[Auto.js](https://github.com/hyb1996/Auto.js)</span> | <span style="word-break:keep-all;white-space:nowrap">[Auto.js](https://github.com/TonyJiangWJ/Auto.js/commit/268ec8895bbfa28fc7715154eb15b1c1eaaefd14#diff-5e01f7d37a66e4ca03deefc205d8e7008661cdd0284a05aaba1858e6b7bf9103R2)</span> | <span style="word-break:keep-all;white-space:nowrap">[hyb1996](https://github.com/hyb1996)</span> | <span style="word-break:keep-all;white-space:nowrap">`2017/01/27`</span> | <span style="word-break:keep-all;white-space:nowrap">`2020/03/13`</span> | <span style="word-break:keep-all;white-space:nowrap">3.13</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">Auto.js Pro 7</span> | <span style="word-break:keep-all;white-space:nowrap">Auto.js</span> | <span style="word-break:keep-all;white-space:nowrap">[hyb1996](https://github.com/hyb1996)</span> | <span style="word-break:keep-all;white-space:nowrap">`2019/03/13`</span> | <span style="word-break:keep-all;white-space:nowrap">`2019/07/08`</span> | <span style="word-break:keep-all;white-space:nowrap">0.32</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">Auto.js Pro 8</span> | <span style="word-break:keep-all;white-space:nowrap">AutoJsPro</span> | <span style="word-break:keep-all;white-space:nowrap">[hyb1996](https://github.com/hyb1996)</span> | <span style="word-break:keep-all;white-space:nowrap">`2019/10/13`</span> | <span style="word-break:keep-all;white-space:nowrap">`2021/07/24`</span> | <span style="word-break:keep-all;white-space:nowrap">1.78</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[Auto.js](https://github.com/TonyJiangWJ/Auto.js)</span> | <span style="word-break:keep-all;white-space:nowrap">[Auto.js M](https://github.com/TonyJiangWJ/Auto.js/commit/268ec8895bbfa28fc7715154eb15b1c1eaaefd14#diff-5e01f7d37a66e4ca03deefc205d8e7008661cdd0284a05aaba1858e6b7bf9103R2)</span> | <span style="word-break:keep-all;white-space:nowrap">[TonyJiangWJ](https://github.com/TonyJiangWJ)</span> | <span style="word-break:keep-all;white-space:nowrap">`2019/11/21`</span> | <span style="word-break:keep-all;white-space:nowrap">-</span> | <span style="word-break:keep-all;white-space:nowrap">< 6.32 ></span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[AutoX](https://github.com/kkevsekk1/AutoX)</span> | <span style="white-space:pre">[Autox.js](https://github.com/kkevsekk1/AutoX/commit/8143e4ed893d4af05d22aa791b83a962f9959873#diff-5e01f7d37a66e4ca03deefc205d8e7008661cdd0284a05aaba1858e6b7bf9103R2)</span> | <span style="word-break:keep-all;white-space:nowrap">[kkevsekk1](https://github.com/kkevsekk1)</span> | <span style="word-break:keep-all;white-space:nowrap">`2020/07/24`</span> | <span style="word-break:keep-all;white-space:nowrap">[ `2025/01/07` ]</span> | <span style="word-break:keep-all;white-space:nowrap">4.46</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[Auto.js Pro 9](https://pro.autojs.org/)</span> | <span style="word-break:keep-all;white-space:nowrap">AutoJsPro</span> | <span style="word-break:keep-all;white-space:nowrap">[hyb1996](https://github.com/hyb1996)</span> | <span style="word-break:keep-all;white-space:nowrap">`2021/03/28`</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/02/09`</span> | <span style="word-break:keep-all;white-space:nowrap">1.87</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[AutoJs6](https://github.com/SuperMonster003/AutoJs6)</span> | <span style="word-break:keep-all;white-space:nowrap">[AutoJs6](https://github.com/SuperMonster003/AutoJs6/commit/a8ce1b9acb541e9736c33134be3194c3148a15a3#diff-833a46a97033e77558372a2dce103fd6fee29aaaa899f610022a7aece592ee7bR27)</span> | <span style="word-break:keep-all;white-space:nowrap">[SuperMonster003](https://github.com/SuperMonster003)</span> | <span style="word-break:keep-all;white-space:nowrap">`2021/12/01`</span> | <span style="word-break:keep-all;white-space:nowrap">-</span> | <span style="word-break:keep-all;white-space:nowrap">< 4.28 ></span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[autojs4](https://github.com/blackcd318/autojs4)</span> | <span style="word-break:keep-all;white-space:nowrap">Auto.js</span> | <span style="word-break:keep-all;white-space:nowrap">[blackcd318](https://github.com/blackcd318)</span> | <span style="word-break:keep-all;white-space:nowrap">`2021/12/15`</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/07/31`</span> | <span style="word-break:keep-all;white-space:nowrap">1.62</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[AutoX](https://github.com/kkevsekk1/AutoX)</span> | <span style="white-space:pre">[Autox.js v6](https://github.com/kkevsekk1/AutoX/commit/8b6776cff8b0fca4be4a52719b7d7d07c0a058f3#diff-51a0b488f963eb0be6c6599bf5df497313877cf5bdff3950807373912ac1cdc9R130)</span> | <span style="word-break:keep-all;white-space:nowrap">[wilinz](https://github.com/wilinz) / [aiselp](https://github.com/aiselp)</span> | <span style="word-break:keep-all;white-space:nowrap">`2022/05/26`</span> | <span style="word-break:keep-all;white-space:nowrap">[ `2025/01/07` ]</span> | <span style="word-break:keep-all;white-space:nowrap">2.62</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[openautojs](https://github.com/openautojs/openautojs)</span> | <span style="white-space:pre">[OpenAuto.js](https://github.com/openautojs/openautojs/commit/a11feaad025154de9b453ba70b49e94a6ca8b48a#diff-7d757295fcec3b37c258337e048644c258233d79259152e77baa6d36bb0ec418R2)</span> | <span style="word-break:keep-all;white-space:nowrap">[openautojs](https://github.com/openautojs)</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/02/17`</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/04/16`</span> | <span style="word-break:keep-all;white-space:nowrap">0.16</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[AutoJs4](https://github.com/SuperMonster003/AutoJs4)</span> | <span style="word-break:keep-all;white-space:nowrap">[AutoJs4](https://github.com/SuperMonster003/AutoJs4/commit/8de11699b608be1c1f49f0f10e2e2826f8c77978)</span> | <span style="word-break:keep-all;white-space:nowrap">[SuperMonster003](https://github.com/SuperMonster003)</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/04/11`</span> | <span style="word-break:keep-all;white-space:nowrap">-</span> | <span style="word-break:keep-all;white-space:nowrap">< 2.93 ></span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[AutoX](https://github.com/aiselp/AutoX)</span> | <span style="white-space:pre">[Autox.js v7](https://github.com/aiselp/AutoX/commit/484491fd5fe12b8203d0b09c181eb0f471c0ea9f#diff-8cff73265af19c059547b76aca8882cbaa3209291406f52df1dafbbc78e80c46R120)</span> | <span style="word-break:keep-all;white-space:nowrap">[aiselp](https://github.com/aiselp)</span> | <span style="word-break:keep-all;white-space:nowrap">`2024/04/21`</span> | <span style="word-break:keep-all;white-space:nowrap">-</span> | <span style="word-break:keep-all;white-space:nowrap">< 1.90 ></span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[Autoxjs_v6_ozobi](https://github.com/ozobiozobi/Autoxjs_v6_ozobi)</span> | <span style="white-space:pre">[Autox.js v6_ozobi](https://github.com/ozobiozobi/Autoxjs_v6_ozobi/blob/a651d02246e09cfbbfa87e6eaccf900fab/app/build.gradle.kts#L143)</span> | <span style="word-break:keep-all;white-space:nowrap">[ozobiozobi](https://github.com/ozobiozobi)</span> | <span style="word-break:keep-all;white-space:nowrap">`2024/10/01`</span> | <span style="word-break:keep-all;white-space:nowrap">-</span> | <span style="word-break:keep-all;white-space:nowrap">< 1.45 ></span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[AutoX](https://github.com/autox-community/AutoX)</span> | <span style="white-space:pre">[Autox.js v6](https://github.com/autox-community/AutoX/commit/8b6776cff8b0fca4be4a52719b7d7d07c0a058f3#diff-51a0b488f963eb0be6c6599bf5df497313877cf5bdff3950807373912ac1cdc9R130)</span> | <span style="word-break:keep-all;white-space:nowrap">[autox-community](https://github.com/autox-community)</span> | <span style="word-break:keep-all;white-space:nowrap">`2025/03/30`</span> | <span style="word-break:keep-all;white-space:nowrap">-</span> | <span style="word-break:keep-all;white-space:nowrap">< 0.96 ></span> |
|
||
|
||
التواريخ في الجدول هي تقديرات وقد تختلف عن الواقع.
|
||
|
||
في الجدول، تعد إصدارات Auto.js Pro 7/8/9 مدفوعة، والبقية مفتوحة المصدر ومجانية.
|
||
|
||
في الجدول، تشير البيانات في العمود `تاريخ نهاية التطوير` التي تحتوي على أقواس مربعة (`[]`) إلى أن مشروع المصدر المفتوح غير متاح مؤقتًا.
|
||
|
||
في الجدول، يتم احتساب البيانات في العمود `فترة الصيانة النشطة` التي تحتوي على أقواس زاوية (`<>`) حتى 14 March 2026.
|
||
|
||
******
|
||
|
||
### الوظائف
|
||
|
||
******
|
||
|
||
* يمكن استخدامه كبيئة تطوير تكاملية (IDE) لـ JavaScript (إكمال الكود / إعادة تسمية المتغيرات / تنسيق الكود)
|
||
* دعم تشغيل الأتمتة باستناد إلى [خدمة الوصول](https://developer.android.com/reference/android/accessibilityservice/AccessibilityService)
|
||
* دعم الإجراءات السريعة لزر الطفو (تسجيل وتشغيل السكربت / عرض حزمة النشاط / تحليل التخطيط)
|
||
* دعم واجهة برمجة التطبيقات الخاصة بالموصل وتوفير التصفح/استرجاع المعلومات/تشغيل الموصلات (مشابه لـ [UiAutomator](https://developer.android.com/training/testing/ui-automator))
|
||
* دعم تحليل واجهة التخطيط (مشابه لـ LayoutInspector في Android Studio)
|
||
* دعم ميزة التسجيل وتشغيل التسجيل
|
||
* دعم لقطة الشاشة/حفظ لقطة الشاشة/البحث عن اللون في الصورة/مطابقة الصورة
|
||
* دعم كتابة الواجهة باستخدام [E4X](https://zh.wikipedia.org/wiki/E4X) (ECMAScript for XML)
|
||
* دعم تجميع ملفات أو مشاريع السكربت إلى ملفات APK
|
||
* دعم توسيع الميزات باستخدام صلاحيات الروت (النقر, السحب, التسجيل, أوامر shell)
|
||
* دعم الاستخدام كمكون إضافي لـ Tasker
|
||
* دعم الاتصال بـ VSCode وتطوير سطح المكتب (تحتاج إلى المكون الإضافي [AutoJs6-VSCode-Extension](http://vscext-project.autojs6.com))
|
||
|
||
******
|
||
|
||
### البيئة
|
||
|
||
******
|
||
|
||
- نظام تشغيل Android
|
||
- [API](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) [24](https://developer.android.com/reference/android/os/Build.VERSION_CODES#N) ([7.0](https://zh.wikipedia.org/wiki/Android_Nougat)) [[N](https://developer.android.com/reference/android/os/Build.VERSION_CODES#N)] وما بعده
|
||
|
||
******
|
||
|
||
### الدليل
|
||
|
||
******
|
||
|
||
* [وثائق التطبيق](https://docs.autojs6.com)
|
||
* [دليل المستخدم (قيد الإنشاء)](https://docs.autojs6.com/#/manual)
|
||
* [استكشاف الأخطاء وإصلاحها](https://docs.autojs6.com/#/qa)
|
||
* [تجميع وبناء المشروع](#project-compilation-and-build)
|
||
* [مساعدة تطوير السكريبت](#script-development-assistance)
|
||
|
||
******
|
||
|
||
### التغييرات الرئيسية
|
||
|
||
******
|
||
|
||
مقارنةً بالإصدار النهائي المفتوح المصدر لـ Auto.js `4.1.1 Alpha2`، فإن AutoJs6 قد أجرت التحديثات أو التغييرات الرئيسية التالية:
|
||
|
||
* دعم امتيازات ADB باستخدام [Shizuku](https://shizuku.rikka.app/introduction/) واستخدام واجهة برمجة التطبيقات للنظام
|
||
* دعم بناء مثيلات [WebSocket](https://docs.autojs6.com/#/webSocketType) لإرسال طلبات الشبكة استنادًا إلى [بروتوكول WebSocket](https://zh.wikipedia.org/wiki/WebSocket)
|
||
* وحدات جديدة [ [base64](https://docs.autojs6.com/#/base64) / [crypto](https://docs.autojs6.com/#/crypto) / [sqlite](https://docs.autojs6.com/#/sqlite) / [i18n](https://docs.autojs6.com/#/i18n) / [notice](https://docs.autojs6.com/#/notice) / [ocr](https://docs.autojs6.com/#/ocr) / [opencc](https://docs.autojs6.com/#/opencc) / [qrcode](https://docs.autojs6.com/#/qrcode) / [shizuku](https://docs.autojs6.com/#/shizuku) / ... ]
|
||
* دعم التكيف متعدد اللغات [ الإسبانية / الفرنسية / الروسية / العربية / اليابانية / الكورية / الإنجليزية / الصينية المبسطة / الصينية التقليدية / ... ]
|
||
* تكييف ألوان الموضوع [ التجميع / الموقع / البحث / السجل / التكييف التلقائي للسطوع والتباين / ... ]
|
||
* دعم وضع الليل [ صفحة الإعدادات / صفحة الوثائق / صفحة تحليل التخطيط / النافذة العائمة / ... ]
|
||
* دعم الاتصال بـ [المكون الإضافي لـ VSCode](http://vscext-project.autojs6.com) بطرق الاتصال عبر الشبكة المحلية (LAN) و ADB
|
||
* تم ترقية محرك [Rhino](https://github.com/mozilla/rhino/) من [v1.7.7.2](https://github.com/mozilla/rhino/releases/tag/Rhino1_7_7_2_Release) إلى [v2.0.0-SNAPSHOT](http://rhino.autojs6.com/blob/master/gradle.properties#L3) (تم التحديث في 25 December 2025)
|
||
* دعم هروب نقطة الرمز Unicode [للأحرف متعددة المستويات](https://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%B9%B3%E9%9D%A2%E6%98%A0%E5%B0%84#%E7%AC%AC%E4%B8%80%E8%BC%94%E5%8A%A9%E5%B9%B3%E9%9D%A2)
|
||
```js
|
||
'\u{1D160}'; /* تمثل "𝅘𝅥𝅮", طريقة تقليدية: '\uD834\uDD60'. */
|
||
```
|
||
* دعم [Object.values()](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/values)
|
||
```js
|
||
Object.values({name: 'Max', age: 4}); // ['max', 4]
|
||
```
|
||
* دعم [Array.prototype.includes()](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/includes)
|
||
```js
|
||
[10, 20, NaN].includes(20); // true
|
||
```
|
||
* دعم [BigInt](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/BigInt)
|
||
```ts
|
||
typeof 567n === 'bigint'; // true
|
||
```
|
||
* دعم [القوالب النصية](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Template_literals)
|
||
```js
|
||
`Lucky number: ${(Math.random() * 100).toFixed(0)}`
|
||
```
|
||
* عرض [المزيد من الميزات الجديدة](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/RHINO.md) لمحرك Rhino
|
||
* عرض [قائمة التوافق](https://mozilla.github.io/rhino/compat/engines.html) لمحرك Rhino
|
||
|
||
******
|
||
|
||
### سجل الإصدارات
|
||
|
||
******
|
||
|
||
# v6.7.0
|
||
|
||
###### 2026/03/14
|
||
|
||
* `إضافة جديدة` ميزة مركز الاضافات, تدعم تثبيت/الغاء تثبيت/تحديث الاضافات وغيرها من العمليات (المدخل: زر درج الصفحة الرئيسية/تبويب الصفحة الرئيسية)
|
||
* `إضافة جديدة` ميزة سجل الاصدارات, تدعم عرض/استعادة الاصدارات السابقة للملفات القابلة للتحرير (المدخل: زر درج الصفحة الرئيسية/قائمة مدير الملفات/قائمة محرر الشفرة)
|
||
* `إضافة جديدة` ميزة سلة المحذوفات, تدعم عرض/استعادة الملفات/المجلدات المحذوفة (المدخل: زر درج الصفحة الرئيسية)
|
||
* `إضافة جديدة` اضافة Paddle OCR (PP-OCRv5), للتعرف الضوئي على الحروف
|
||
* `إضافة جديدة` وحدة cvt, لتحويل وحدات البيانات (راجع وثائق المشروع > [تحويل الوحدات](https://docs.autojs6.com/#/cvt))
|
||
* `إضافة جديدة` وحدة fmt, لتنسيق البيانات (راجع وثائق المشروع > [التنسيق](https://docs.autojs6.com/#/fmt))
|
||
* `إضافة جديدة` وحدة zip, لعمليات ضغط الملفات وفك ضغطها (Ref to [Auto.js Pro](https://g.pro.autojs.org/)) (راجع وثائق المشروع > [Zip](https://docs.autojs6.com/#/zip))
|
||
* `إضافة جديدة` وحدة mediainfo, لعرض المعلومات التفصيلية لملفات الوسائط (راجع وثائق المشروع > [معلومات الوسائط](https://docs.autojs6.com/#/mediainfo))
|
||
* `إضافة جديدة` الطريقة cvt.bytes, لتحويل وحدات بيانات البايتات (راجع وثائق المشروع > [تحويل الوحدات](https://docs.autojs6.com/#/cvt))
|
||
* `إضافة جديدة` الطريقة fmt.bytes, لتنسيق بيانات البايتات (راجع وثائق المشروع > [التنسيق](https://docs.autojs6.com/#/fmt))
|
||
* `إضافة جديدة` الطريقة s13n.bytes, لتوحيد بيانات البايتات (راجع وثائق المشروع > [التوحيد](https://docs.autojs6.com/#/s13n))
|
||
* `إضافة جديدة` الطريقة app.isDualInstalled, للتحقق مما اذا كان التطبيق المستنسخ مثبتا (يتطلب صلاحيات Shizuku او Root) _[`issue #450`](http://issues.autojs6.com/450)_
|
||
* `إضافة جديدة` الطريقة device.getSharedDeviceId, للحصول على معرّف جهاز موحّد مشترك بين التطبيقات _[`issue #455`](http://issues.autojs6.com/455)_
|
||
* `إضافة جديدة` الطريقة device.setPointerLocation وغيرها من طرق سلسلة Toggleable, لضبط او الحصول على خيار النظام الخاص بموقع المؤشر _[`issue #381`](http://issues.autojs6.com/381)_
|
||
* `إضافة جديدة` الطريقة dialogs.build تدعم معاملات الخيار textAllCaps/(positive/negative/neutral)TextAllCaps, للتحكم فيما اذا كان نص الازرار يظهر بحروف كبيرة بالكامل
|
||
* `إضافة جديدة` الطريقة images.loadAsync, للحصول على موارد الصور من الشبكة بشكل غير متزامن _[`issue #327`](http://issues.autojs6.com/327)_
|
||
* `إضافة جديدة` الطريقة ui.getNavigationBarHeight/الخاصية navigationBarHeight (getter), للحصول على ارتفاع شريط التنقل _[`issue #456`](http://issues.autojs6.com/456)_
|
||
* `إضافة جديدة` الطريقة ui.getVisible(Status/Navigation)BarHeight/الخاصية visible(Status/Navigation)BarHeight (getter), للحصول بسرعة على الارتفاع المرئي لشريط الحالة او شريط التنقل _[`issue #456`](http://issues.autojs6.com/456)_
|
||
* `إضافة جديدة` الطرق http.put/del(ete)/head, لارسال طلبات الشبكة باستخدام طرق HTTP مختلفة
|
||
* `إضافة جديدة` الطرق http.getAsync/postAsync/requestAsync وغيرها, لارسال طلبات الشبكة بشكل غير متزامن _[`issue #423`](http://issues.autojs6.com/423)_
|
||
* `إضافة جديدة` كائن body الذي يتم الحصول عليه من الطرق المتعلقة بطلبات وحدة http تمت اضافة طرق مثل stream/saveToFile/close اليه _[`issue #452`](http://issues.autojs6.com/452)_
|
||
* `إضافة جديدة` الطرق المتعلقة بطلبات وحدة http تدعم معاملات خيارات التحكم في التخزين المؤقت (cacheBody/bodyCacheThresholdBytes)
|
||
* `إضافة جديدة` الطرق المتعلقة بطلبات وحدة http تدعم معاملات الخيارات غير الامنة (isInsecure/insecure), لتجاهل الاستثناءات المتعلقة بالشهادات _[`issue #417`](http://issues.autojs6.com/417)_
|
||
* `إضافة جديدة` الطرق المتعلقة بطلبات وحدة http تدعم الخيار options.client, لتهيئة OkHttpClient.Builder (مثل followRedirects وغيرها) _[`issue #454`](http://issues.autojs6.com/454)_
|
||
* `إضافة جديدة` الخاصية auto.state (getter) والخاصية shizuku.state (getter), للحصول على حالة خدمة امكانية الوصول وحالة خدمة Shizuku
|
||
* `إضافة جديدة` الطرق runtime.(set/is)JavaPrimitiveWrap, لضبط او الحصول على استراتيجية تغليف الانواع البدائية في Java _[`issue #435`](http://issues.autojs6.com/435)_
|
||
* `إضافة جديدة` الطرق autojs.(restart/exit), لاعادة تشغيل او الخروج من تطبيق AutoJs6, مع دعم تشغيل السكربت المحدد تلقائيا عند اعادة تشغيل التطبيق _[`issue #460`](http://issues.autojs6.com/460)_
|
||
* `إضافة جديدة` الطريقة UiObject#isShifted, لاكتشاف تغير موضع العنصر _[`issue #469`](http://issues.autojs6.com/469)_
|
||
* `إضافة جديدة` الطريقة UiObject#snapshot, لالتقاط الحالة الحالية للعنصر _[`issue #469`](http://issues.autojs6.com/469)_
|
||
* `إضافة جديدة` الطريقة engines.myEngine().getStartTime(), للحصول على الطابع الزمني لبدء محرك السكربت _[`issue #449`](http://issues.autojs6.com/449)_
|
||
* `إضافة جديدة` الطريقة العامة crash, لاختبار صفحة تقرير الانهيار
|
||
* `إضافة جديدة` الطريقة العامة structuredClone, للنسخ العميق لكائنات JavaScript (راجع [MDN](https://developer.mozilla.org/zh-CN/docs/Web/API/Window/structuredClone))
|
||
* `إضافة جديدة` سلسلة المحددات المتكافئة (UiSelector#id/text/...) وسلسلة المحددات المحتوية (UiSelector#xxxContains) تدعم معاملات التعبيرات النمطية
|
||
* `إضافة جديدة` معاملات التعبيرات النمطية في المحددات تدعم العلامات (i, m, s, u)
|
||
* `إضافة جديدة` التعبيرات النمطية تدعم صياغة lookbehind _[`issue #464`](http://issues.autojs6.com/464)_
|
||
* `إضافة جديدة` تمت اضافة عنصري القائمة "نقل الى" و"نسخ الى" في مدير الملفات, مع دعم اجهاض العملية وعرض حالة التقدم
|
||
* `إضافة جديدة` تمت اضافة عنصر القائمة "لوحة مفاتيح متعددة الوظائف" - "اعدادات الرموز" في محرر الشفرة, مع دعم تحرير الرموز وانشاء/استيراد/تصدير الرموز حسب مستوى الملف الشخصي
|
||
* `إضافة جديدة` تمت اضافة اداة "موقع المؤشر" الى درج الصفحة الرئيسية
|
||
* `إضافة جديدة` تمت اضافة مفتاح "صلاحية الوصول الى كل الملفات" الى درج الصفحة الرئيسية
|
||
* `إضافة جديدة` تمت اضافة مفتاح "اظهار الواجهة من الخلفية" الى درج الصفحة الرئيسية (لاجهزة [Xiaomi/Vivo])
|
||
* `إضافة جديدة` تمت اضافة خيار "تغليف الانواع البدائية في Java" الى صفحة الاعدادات _[`issue #435`](http://issues.autojs6.com/435)_
|
||
* `إضافة جديدة` تمت اضافة خيار "محرك جدولة المهام" الى صفحة الاعدادات, مع دعم AlarmManager/WorkManager/JobScheduler _[`issue #457`](http://issues.autojs6.com/457)_ _[`issue #434`](http://issues.autojs6.com/434)_ _[`issue #449`](http://issues.autojs6.com/449)_ _[`issue #388`](http://issues.autojs6.com/388)_ _[`issue #378`](http://issues.autojs6.com/378)_ _[`issue #163`](http://issues.autojs6.com/163)_ _[`issue #53`](http://issues.autojs6.com/53)_ _[`issue #21`](http://issues.autojs6.com/21)_
|
||
* `إضافة جديدة` تمت اضافة خيار "ايقونة مشغل التطبيق" الى صفحة الاعدادات, مع دعم الايقونات التكيفية/الايقونات ذات الخلفية الشفافة _[`issue #405`](http://issues.autojs6.com/405)_
|
||
* `إضافة جديدة` تمت اضافة خيار "استراتيجية اعادة التشغيل" الى صفحة الاعدادات, لاعداد ما اذا كان زر اعادة التشغيل في درج الصفحة الرئيسية يستخدم استراتيجية اعادة التشغيل السريعة
|
||
* `إضافة جديدة` تمت اضافة خيار "تاخير طلب اذن التقاط الشاشة" الى صفحة الاعدادات, لتجنب حجب نافذة طلب الاذن للشاشة
|
||
* `إضافة جديدة` تمت اضافة خيار "الاضافات" الى اختصارات المشغل في صفحة الاعدادات, للانتقال الى صفحة مركز الاضافات عبر اختصار
|
||
* `إضافة جديدة` التطبيقات المعبأة تدعم التشغيل التلقائي عند الاقلاع, مع اضافة مفتاح الى صفحة الاعداد
|
||
* `إضافة جديدة` التطبيقات المعبأة تدعم اختصارات التطبيق (صفحة السجلات/صفحة الاعدادات)
|
||
* `إضافة جديدة` تمت اضافة ازرار التراجع/الاعادة/الحفظ الى صفحة اعداد تغليف التطبيق
|
||
* `إضافة جديدة` تمت اضافة آلية ملفات تعريف الى صفحة اعداد تغليف التطبيق, مع دعم انشاء/تعديل/حذف/استيراد/تصدير ملفات التعريف _[`issue #483`](http://issues.autojs6.com/483)_
|
||
* `إضافة جديدة` اداة Scrapers (run-scrapers.mjs), لتحديث البيانات المهيكلة لنصوص بناء Gradle/البيانات العامة لـ README/بيانات قوالب README وغيرها تلقائيا
|
||
* `إضافة جديدة` اداة Gradle Wrapper switcher (gradle-wrapper-switcher), للتبديل بين الاصدار الرئيسي المحلي لـ Gradle (مثل Gradle 8.x و Gradle 9.x)
|
||
* `تصليح` خطأ في قيود عدد وانواع معاملات الطريقة notice _[`issue #462`](http://issues.autojs6.com/462)_
|
||
* `تصليح` مشكلة تعذر معها استخدام الخاصية ui.R (getter) بشكل صحيح
|
||
* `تصليح` مشكلة كان يمكن معها ان تفشل الاستثناءات الناتجة في معاملات callback الخاصة بالطريقة ui.post بشكل صامت
|
||
* `تصليح` مشكلة كانت تجعل الطرق العامة مثل isJavaClass/isJavaPackage غير صالحة
|
||
* `تصليح` مشكلة كانت تجعل المعامل timeout في الطريقة timers.keepAlive غير فعال
|
||
* `تصليح` مشكلة كانت تجعل الطريقتين floaty.window/rawWindow لا تقبلان المعاملات النصية _[`issue #467`](http://issues.autojs6.com/467)_
|
||
* `تصليح` مشكلة كانت تجعل floaty.rawWindow يعرض بعض العناصر بشكل غير طبيعي بسبب تمرير سياق غير صحيح
|
||
* `تصليح` مشكلة كانت تجعل الطريقة util.isString غير صالحة
|
||
* `تصليح` مشكلة كانت تجعل util.class[Name]/getClass[Name] قد تعيدان نتائج غير صحيحة
|
||
* `تصليح` مشكلة كانت تجعل util.java.array غير قادر على استخدام معاملات الانواع مثل Boolean بشكل صحيح
|
||
* `تصليح` مشكلة كان يمكن معها للكائن المعاد من threads.disposable() ان يخضع للتغليف بشكل غير متوقع عند الوصول الى البيانات _[`issue #435`](http://issues.autojs6.com/435)_
|
||
* `تصليح` مشكلة كانت تجعل خيارات نمط نافذة السجل العائمة لا يعاد ضبطها بشكل صحيح عند استدعاء الطريقة console.build عدة مرات
|
||
* `تصليح` مشكلة كانت تجعل خيارات (title/content)BackgroundColor في الطريقة console.build تطغى على خيارات الشفافية او التلوين _[`issue #458`](http://issues.autojs6.com/458)_
|
||
* `تصليح` مشكلة كانت تجعل الطرق مثل console/toast تفقد الاصفار النهائية عند عرض Java Double
|
||
* `تصليح` مشكلة كانت تجعل من غير الممكن استخدام الطرق مثل console/toast لعرض نوع البيانات BigInt
|
||
* `تصليح` مشكلة كانت تجعل الطريقة toast قد تسبب تسربا في الذاكرة بسبب الاحتفاظ بمرجع قوي الى كائن Toast
|
||
* `تصليح` مشكلة كان يمكن معها لبعض الكائنات العامة ان تفقد خصائص وطرق النموذج الاولي في JavaScript
|
||
* `تصليح` مشكلة كان يمكن معها لكائن this ان يشير بشكل خاطئ عند استخدام تعبيرات JavaScript كقيم للسمات في صياغة XML
|
||
* `تصليح` مشكلة كانت تجعل معامل الخيار linkify في الطريقة dialogs.build غير فعال
|
||
* `تصليح` مشكلة كانت تجعل الطريقة dialogs.build قد تتلف البيانات الاصلية لمعلمات الكائن
|
||
* `تصليح` حساب غير صحيح لمعدل الاطارات الداخلي في الطريقة setMaxFps لعنصر canvas
|
||
* `تصليح` حساب غير صحيح لقيمة العرض عند الدمج العمودي باستخدام الطريقة images.concat
|
||
* `تصليح` مشكلة كان يمكن معها ان يؤدي الغاء التفويض عند استدعاء الطريقة images.requestScreenCapture الى انهيار التطبيق
|
||
* `تصليح` مشكلة كانت تجعل لقطات الشاشة التي يتم الحصول عليها من الطريقة images.captureScreen قد تحتوي على اتجاه خاطئ او حواف سوداء _[`issue #337`](http://issues.autojs6.com/337)_
|
||
* `تصليح` مشكلة كان فيها يتم تفسير القيمة 1 على انها نسبة مئوية بالخطأ عند استخدام معاملات المنطقة في بعض طرق images
|
||
* `تصليح` مشكلة كانت تجعل وظيفة العلامة oneShot غير فعالة عند حدوث استثناءات في بعض الطرق المتعلقة بـ images _[`issue #372`](http://issues.autojs6.com/372)_
|
||
* `تصليح` مشكلة كانت تجعل بعض الطرق المتعلقة بـ images قد تسبب تسربا في الذاكرة _[`issue #372`](http://issues.autojs6.com/372)_
|
||
* `تصليح` مشكلة كانت تجعل images.save والطريقة ImageWrapper#saveTo غير قادرتين على كتابة الملفات بشكل صحيح عندما لا يكون المسار المدخل موجودا
|
||
* `تصليح` مشكلة كانت تجعل الطريقة ImageWrapper#recycle غير قادرة على اعادة تدوير موارد الصور بشكل صحيح
|
||
* `تصليح` مشكلة كانت تجعل بعض الطرق المحملة زائدا في ocr قد لا تعمل بشكل صحيح
|
||
* `تصليح` مشكلة كانت تجعل النتائج التي يتم الحصول عليها من الطريقة ocr.detect قد لا تتطابق مع ocr.mode _[`issue #468`](http://issues.autojs6.com/468)_
|
||
* `تصليح` مشكلة كانت تجعل احداث خدمة امكانية الوصول المسجلة عبر auto.registerEvent يتم تنظيفها بالخطأ بواسطة سكربتات اخرى _[`issue #466`](http://issues.autojs6.com/466)_ _[`issue #343`](http://issues.autojs6.com/343#issuecomment-3263953918)_
|
||
* `تصليح` مشكلة كانت تجعل الطريقة UiObject#child قد ترمي استثناء ArrayIndexOutOfBoundsException على Android 10 _[`issue #416`](http://issues.autojs6.com/416)_
|
||
* `تصليح` مشكلة كان يمكن معها ان تصبح سياقات Rhino غير متسقة عند استدعاء طرق الوحدات المدمجة
|
||
* `تصليح` مشكلة كان يمكن معها ان تبقى نوافذ عائمة متبقية بعد انتهاء السكربت عند انشاء عدد كبير من النوافذ العائمة
|
||
* `تصليح` مشكلة كانت تجعل معاملات اعداد project.json قد لا تُحلل بشكل صحيح عند تشغيل مشروع
|
||
* `تصليح` مشكلة كان فيها يؤدي معامل excludedDirs في project.json الى فشل تحليل ملف الاعداد عند تغليف المشروع _[`issue #428`](http://issues.autojs6.com/428)_
|
||
* `تصليح` مشكلة كانت تجعل ميزة التغليف قد لا تعمل بشكل صحيح على Android 7.x
|
||
* `تصليح` مشكلة كان يمكن معها ان تتغير اسماء المفاتيح الاصلية عند حفظ ملف اعداد مشروع السكربت
|
||
* `تصليح` مشكلة كان يمكن معها ان تؤدي القيم الكبيرة لرقم البناء او وقت البناء في ملف اعداد مشروع السكربت الى انهيار التطبيق
|
||
* `تصليح` مشكلة كان يمكن معها ان يؤدي الحصول المتكرر على ImageReader او اعادة بنائه الى انهيار التطبيق بسبب عدم توفر اطار قابل للاستخدام مؤقتا في المخزن المؤقت
|
||
* `تصليح` مشكلة كان يمكن معها ان يؤدي مراقب احداث الادخال InputEventObserver الى تباطؤ ملحوظ عند بدء التطبيق
|
||
* `تصليح` مشكلة كانت تجعل عملية خدمة مستخدم Shizuku لا تنتهي بشكل صحيح مما يؤدي الى تراكم العمليات _[`issue #474`](http://issues.autojs6.com/474)_
|
||
* `تصليح` مشكلة كانت تجعل التطبيقات المعبأة غير قادرة على استخدام ميزات Paddle OCR و Rapid OCR بشكل صحيح
|
||
* `تصليح` مشكلة كان يمكن معها ان تتغير قيمة المفتاح key في ملف اعداد التطبيق المعبأ project.json بشكل غير متوقع
|
||
* `تصليح` مشكلة كان يمكن معها ان يحدث وميض في ايقونات مربعات الاختيار عند تمرير قائمة "الاذونات المطلوبة" في صفحة اعداد تغليف التطبيق
|
||
* `تصليح` مشكلة كانت تجعل بيانات الاحصاءات في صفحة سجل الاصدارات غير مكتملة على بعض الانظمة بسبب اختلاف الخطوط
|
||
* `تصليح` مشكلة كانت تجعل MLKit Google OCR غير قادر على التهيئة بشكل صحيح على بعض الاجهزة (اصلاح تجريبي) _[`issue #8`](http://issues.autojs6.com/8#issuecomment-3117061768)_
|
||
* `تصليح` مشكلة كانت تجعل ازرار وظائف مدير الملفات غير قادرة على استقبال احداث النقر بشكل صحيح على بعض الاجهزة (اصلاح تجريبي) _[`issue #465`](http://issues.autojs6.com/465)_
|
||
* `تصليح` مشكلة كانت تجعل الاسطر الفارغة في محرر الشفرة تعرض رموزا مربعة على بعض الاجهزة (اصلاح تجريبي)
|
||
* `تصليح` مشكلة كانت تجعل لوحة المفاتيح البرمجية قد تحجب محتوى النص في محرر الشفرة
|
||
* `تصليح` مشكلة كانت تجعل محرر الشفرة ما يزال يسمح بتحرير المحتوى في وضع القراءة فقط
|
||
* `تصليح` مشكلة كانت تجعل النقر على منطقة العنوان وبعض عناصر القائمة في وضع القراءة فقط يؤدي الى انهيار التطبيق في محرر الشفرة
|
||
* `تصليح` مشكلة كان يمكن معها ان يؤدي تحميل الملفات الكبيرة في محرر الشفرة الى انهيار التطبيق (اصلاح تجريبي)
|
||
* `تصليح` تهيئة غير طبيعية لحالة ازرار الوظائف عند قيام محرر الشفرة بفتح ملف جديد تلقائيا
|
||
* `تصليح` مشكلة كان يمكن معها ان يؤدي وضع التطبيق في الخلفية اثناء تحرير ملف في محرر الشفرة الى انهيار التطبيق
|
||
* `تصليح` مشكلة كانت تجعل النقر على زر fx في محرر الشفرة على Android 15+ غير قادر على اظهار لوحة الاختصارات السريعة لوظائف الوحدات (اصلاح تجريبي)
|
||
* `تصليح` مشكلة كانت تجعل ErrorDialogActivity غير قادر على البدء بشكل صحيح او يختفي تلقائيا خلال وقت قصير _[`issue #479`](http://issues.autojs6.com/479)_ _[`issue #471`](http://issues.autojs6.com/471)_ _[`issue #414`](http://issues.autojs6.com/414)_ _[`issue #340`](http://issues.autojs6.com/340#issuecomment-2973485826)_
|
||
* `تصليح` انواع معاملات غير صحيحة يقبلها الباني Canvas _[`issue #402`](http://issues.autojs6.com/402)_
|
||
* `تصليح` مشكلة كانت تجعل وظيفة نسخ المعلومات التفصيلية في صفحة تقرير الانهيار غير فعالة
|
||
* `تصليح` مشكلة كانت تجعل منطق الرجوع المخصص غير فعال على Android 16+ مما يؤدي الى سلوك غير طبيعي للرجوع
|
||
* `تصليح` مشكلة كان يمكن معها ان ينهار التطبيق عند الضغط على زر الرجوع او تبديل علامات التبويب بعد عرض نتائج البحث في مدير الملفات
|
||
* `تصليح` مشكلة كانت تجعل الواجهة لا تتحدث تلقائيا بعد حذف مجلد مشروع في مدير الملفات
|
||
* `تصليح` مشكلة كان يمكن معها ان ينهار التطبيق عندما تتغير عناصر قائمة لوحة المهام بشكل متكرر
|
||
* `تصليح` مشكلة كانت تجعل لون المقدمة لشريط التنقل قد يرتبط بوضع الليل بشكل غير طبيعي عند استخدام تنقل الايماءات "ثلاثة ازرار"
|
||
* `تصليح` مشكلة كانت تجعل مربع حوار معلومات نوع ملف APK غير قادر على الحصول على اسم التطبيق ومعلومات SDK
|
||
* `تصليح` مشكلة كان فيها, في وضع العميل, يؤدي قطع الاتصال ثم اعادة الاتصال خلال وقت قصير بعد الاتصال الى انتهاء مهلة المصافحة ويجعل اعادة الاتصال صعبة
|
||
* `تصليح` مشكلة كان فيها, في وضع العميل, تؤدي عمليات مثل تدوير الشاشة او تبديل اللغة والتي تعيد انشاء Activity الى جعل AutoJs6 يعيد دائما بناء الاتصال
|
||
* `تصليح` مشكلة كان فيها, في وضع الخادم, تؤدي عمليات مثل تدوير الشاشة او تبديل اللغة والتي تعيد انشاء Activity الى جعل وحدة تحكم VSCode غير قادرة على اخراج السجلات _[`issue #385`](http://issues.autojs6.com/385)_
|
||
* `تصليح` مشكلة كان فيها الاتصال باضافة VSCode بعدة طرق في نفس الوقت يؤدي الى تضاعف عدد السجلات المطبوعة
|
||
* `تصليح` مشكلة كان فيها توليد الشفرة في صفحة تحليل التخطيط قد يفشل بالنسبة لعناصر المجموعات (اصلاح تجريبي) _[`issue #328`](http://issues.autojs6.com/328)_
|
||
* `تصليح` مشكلة كانت تجعل مفتاح "استخدام زر 'خفض الصوت' للتحكم في التسجيل" في صفحة الاعدادات غير فعال _[`issue #480`](http://issues.autojs6.com/480)_
|
||
* `تصليح` مشكلة كان يمكن معها ان تكون قيم الاحداثيات في ملفات الشفرة الناتجة عن تسجيل السكربت غير متطابقة مع قيم بكسلات الشاشة الفعلية _[`issue #480`](http://issues.autojs6.com/480)_
|
||
* `تصليح` مشكلة كانت تجعل اول عملية في ملف الشفرة الناتج عن تسجيل السكربت (مثل النقر او السحب) يتم تجاهلها دائما
|
||
* `تصليح` مشكلة كان يمكن معها ان تؤدي معالجة الملفات في الخلفية من خلال مربع الحوار العائم "تشغيل السكربت" الى انهيار التطبيق
|
||
* `تصليح` مشكلة كان يمكن معها ان يعاد ضبط حالة الزر العائم عند الدخول مجددا الى الصفحة الرئيسية بعد انتهاء دورة حياة Activity الرئيسية
|
||
* `تصليح` مشكلة كانت تجعل مفتاح "الظهور فوق التطبيقات الاخرى" على اجهزة Xiaomi قد ينتقل الى صفحة اعدادات خاطئة
|
||
* `تصليح` مشكلة كانت تجعل حزم بيانات الشبكة تستمر في الجلب في الخلفية حتى بعد اجهاض تنزيل التحديث (اصلاح تجريبي)
|
||
* `تصليح` مشكلة كانت تجعل مهمة Rebuild Project غير قادرة على الاكتمال بشكل صحيح عند تفعيل خيار isCleanup[Paddle/Rapid]Ocr في ادوات البناء
|
||
* `تحسين` توحيد ميزات Paddle OCR (PP-OCRv3) على شكل اضافات _[`issue #334`](http://issues.autojs6.com/334)_ _[`issue #331`](http://issues.autojs6.com/331)_ _[`issue #325`](http://issues.autojs6.com/325)_
|
||
* `تحسين` تحسين توافق الطريقة runtime.loadJar (by [LYS86](https://github.com/LYS86)) _[`pr #475`](http://pr.autojs6.com/475)_
|
||
* `تحسين` تحسين توافق الطريقة ui.getStatusBarHeight/الخاصية statusBarHeight (getter) الى حد معين
|
||
* `تحسين` الطرق مثل console.log تدعم عرض معلومات تفصيلية عند طباعة الكائنات العامة (images, app, ocr وغيرها)
|
||
* `تحسين` الطريقة dialogs.build تدعم معاملات الخيارات الاصلية لـ MaterialDialog.Builder
|
||
* `تحسين` الطريقة dialogs.build تدعم المطابقة النصية المرنة لمعلمات الخيار animation/linkify
|
||
* `تحسين` تحسين الثبات والاتساق في الحصول على اتجاه الشاشة وبيانات العرض/الارتفاع بواسطة الطرق device.rotation/rotation/width/height
|
||
* `تحسين` رفع كفاءة التنفيذ وتحسين التوافق للطرق مثل app.launchDual/startDualActivity
|
||
* `تحسين` android.graphics.Paint#setColor يدعم تحليل معاملات الالوان مثل ColorInt/ColorHex/ColorName بشكل صحيح
|
||
* `تحسين` رسائل الاستثناء الخاصة بانواع المعاملات في الطرق المتعلقة بالوحدات المدمجة تضيف معلومات موجزة عن النوع
|
||
* `تحسين` الوحدات المدمجة (dayjs/cheerio/dayjs/i18n) تبتعد عن وضع تنفيذ السكربت وتستخدم التحميل الكسول العام بدلا منه
|
||
* `تحسين` عند طباعة بيانات ضخمة عبر الطرق المتعلقة بوحدة التحكم, يتم حذف جزء من المحتوى بشكل مناسب وفقا للحدود العليا لتقليل وقت الطباعة
|
||
* `تحسين` تمت زيادة القيمة الابتدائية للعد التنازلي لنافذة وحدة التحكم العائمة من 6 ثوانٍ الى 9 ثوانٍ
|
||
* `تحسين` التنفيذ الداخلي لنافذة وحدة التحكم العائمة يستخدم معالجة بلا اقفال وباسلوب الطوابير لتحسين كفاءة ونجاح ضبط المعاملات
|
||
* `تحسين` واجهات API المتعلقة بسلوك لون خلفية نافذة وحدة التحكم العائمة (الشفافية/التلوين/اللون الاساسي) اصبحت اكثر توافقا مع معايير تصميم Android _[`issue #458`](http://issues.autojs6.com/458)_
|
||
* `تحسين` تم تحسين توقيت طي القائمة عند النقر على عناصرها بعد توسيع الزر العائم في مدير الملفات
|
||
* `تحسين` مدير الملفات/لوحة المهام يدعمان عرض احصاءات عدد الملفات/المهام
|
||
* `تحسين` عند فشل حفظ الملف في محرر الشفرة, يتم حفظه تلقائيا كمسودة مع دعم الحفظ باسم ملف جديد
|
||
* `تحسين` تحسين السلاسة بدرجة معينة عند تحميل الملفات الكبيرة في محرر الشفرة
|
||
* `تحسين` ميزة "بحث/استبدال" في محرر الشفرة تدعم استمرارية الحالة وعرض عدد نتائج البحث في الوقت الحقيقي
|
||
* `تحسين` عند مطالبة محرر الشفرة بالحفظ, يتم التأكد من نجاح الحفظ قبل الخروج لتقليل معدل فشل الحفظ
|
||
* `تحسين` حالة زر الحفظ في محرر الشفرة اصبحت اكثر توافقا مع المنطق الذاتي للمستخدم
|
||
* `تحسين` محرر الشفرة يدعم الضغط المطول لمفاتيح مثل "-", "=", "(", "[", "{", "<"
|
||
* `تحسين` تمت اضافة زر "ايقاف" الى مربع حوار عملية تغليف التطبيق
|
||
* `تحسين` تم تحسين طريقة عرض مربع حوار عملية تغليف التطبيق مع اضافة احصاءات زمن التنفيذ
|
||
* `تحسين` عند تثبيت تطبيقات معبأة باستخدام اعداد جديد, سيتم استبدال الاعدادات المرتبطة للتطبيق القديم
|
||
* `تحسين` صفحة اعداد تغليف التطبيق تقوم بتحديد الاذونات الضرورية افتراضيا (WAKE_LOCK/INTERNET/WRITE_EXTERNAL_STORAGE/...) _[`issue #397`](http://issues.autojs6.com/397)_
|
||
* `تحسين` صفحة اعداد تغليف التطبيق تدعم قراءة واعداد المزيد من الخيارات (اظهار السجلات عند التشغيل/اظهار شاشة البداية عند التشغيل/نص شعار شاشة البداية/...)
|
||
* `تحسين` تمت اضافة مفتاح خدمة الواجهة الامامية الى صفحة اعداد التطبيق المعبأ _[`issue #406`](http://issues.autojs6.com/406)_
|
||
* `تحسين` عند حفظ ملف اعداد مشروع السكربت, تمت اضافة آلية لاكتشاف تعارض اسماء المفاتيح لمنع غموض اسم المفتاح
|
||
* `تحسين` صفحة تقرير الانهيار تدعم التكبير والتصغير باصبعين لضبط حجم الخط مع اضافة ازرار للوظائف الشائعة
|
||
* `تحسين` ايقونات مشغل التطبيقات تدعم خصائص الايقونات التكيفية _[`issue #405`](http://issues.autojs6.com/405)_
|
||
* `تحسين` عندما يفشل محرك Rhino في تحليل تواقيع generics, فانه يعود الى انواع reflection الخام لتعزيز قابلية استخدام الطرق العاكسة على اصدارات Android المنخفضة
|
||
* `تحسين` تمت اضافة فواصل الى عناصر المفاتيح في درج الصفحة الرئيسية, مع دعم النقر على منطقة عنوان النص لعرض مربع حوار تفصيلي, ودعم الانتقال السريع الى اعدادات النظام عند الحاجة
|
||
* `تحسين` عند تشغيل AutoJs6 او اعادة تشغيله, يدعم النقر على منطقة عنوان "وضع العميل" في درج الصفحة الرئيسية اجهاض محاولة الاتصال الجارية
|
||
* `تحسين` وضع العميل يدعم انشاء الاتصال باستخدام عناوين IPv6 وعناوين النطاقات
|
||
* `تحسين` وضع العميل يدعم تنبيهات اكتشاف عناوين IPv4 ذات الاستخدام الخاص (loopback/broadcast/multicast/reserved/...)
|
||
* `تحسين` وضع العميل يدعم عرض وادارة حالة الاتصال (تصحيح العنوان/اجهاض الاتصال)
|
||
* `تحسين` وضع الخادم يدعم عرض عدد العملاء الذين تم انشاء اتصال معهم
|
||
* `تحسين` صلاحية قراءة الاشعارات تدعم آلية اعادة اتصال تلقائية ([requestRebind](https://developer.android.com/reference/android/service/notification/NotificationListenerService#requestRebind(android.content.ComponentName))) لتعزيز استقرار الميزات المتعلقة بمراقبة الاشعارات
|
||
* `تحسين` الزر العائم يعزز امان تشغيل Activity من الخلفية لتجنب انهيار التطبيق
|
||
* `تحسين` مربع الحوار "المزيد" الخاص بالزر العائم يستخدم تحميل البيانات بشكل غير متزامن لتحسين سلاسة العرض
|
||
* `تحسين` تمت اضافة عنصر القائمة "الصفحة الرئيسية" الى مربع الحوار "تشغيل السكربت" الخاص بالزر العائم
|
||
* `تحسين` مربع الحوار "تشغيل السكربت" الخاص بالزر العائم يدعم التصغير واستعادة الحالة, ويبذل اقصى ما يمكن لابقاء النافذة دائمة او استعادتها تلقائيا
|
||
* `تحسين` يدعم استخدام صلاحيات Shizuku لتسجيل السكربتات وتشغيل التسجيلات (قد تتأثر سلاسة التشغيل الى حد ما) _[`issue #320`](http://issues.autojs6.com/320)_
|
||
* `تحسين` صفحة اعداد لون السمة تستخدم طريقة تموضع سريعة عند تحديد لون السمة لتحسين الكفاءة
|
||
* `تحسين` تم استخدام [LiveData](https://developer.android.com/topic/libraries/architecture/livedata) و [SharedFlow](https://developer.android.com/kotlin/flow/stateflow-and-sharedflow) بدلا من [LocalBroadcastManager](https://developer.android.com/jetpack/androidx/releases/localbroadcastmanager) المهمل
|
||
* `تحسين` نصوص بناء Gradle تحسن كفاءة فك ضغط الملفات ذات تنسيق 7z
|
||
* `تحسين` نصوص بناء Gradle تدعم الحصول على الاصدار التفصيلي لـ Android Studio IDE (مثل "2025.1.4.7")
|
||
* `تحسين` نصوص بناء Gradle تدعم توليد البيانات المطلوبة للفئة VersionCodesList تلقائيا لتقليل تأخير بدء السكربت
|
||
* `تحسين` استخدام [Version Catalogs](https://developer.android.com/build/migrate-to-catalogs) لادارة اصدارات تبعيات Gradle واضافاته بشكل مركزي
|
||
* `تحسين` تمت نمذجة نصوص بناء Gradle بشكل وحداتي, مع نقل منطق البناء المشترك الى build-logic وتجريده على شكل اضافات convention
|
||
* `تحسين` استخدام اضافات convention في Gradle لتبسيط منطق تحميل مكتبات AAR المحلية
|
||
* `تحسين` ازالة خيار Gradle "android.enableJetifier=true" للتكيف مع Gradle 9
|
||
* `تحسين` استخدام [Toolchain](https://docs.gradle.org/current/userguide/toolchains.html) بدلا من sourceCompatibility/targetCompatibility لتقليل فروق بيئة البناء
|
||
* `تحسين` تعديلات على إصدارات بعض التبعيات أو المكتبات المحلية _[`CHANGELOG.md`](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG.md#v670)_
|
||
|
||
# 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`](http://issues.autojs6.com/398)_
|
||
* `تصليح` قد يستخدم محرر الأكواد ترميزًا منخفض الثقة عند الكتابة مما يؤدي إلى أخطاء فك الترميز (محاولة إصلاح)
|
||
* `تحسين` زيادة توافق التخطيط في صفحات التطبيق والمطور وإزالة تصنيفات التخطيط غير الضرورية
|
||
* `تحسين` في README.md، قسم البناء، إضافة طرق متعددة لتسهيل تحديد صفحة إعداد الهدف _[`issue #404`](http://issues.autojs6.com/404)_
|
||
* `تحسين` تعديلات على إصدارات بعض التبعيات أو المكتبات المحلية _[`CHANGELOG.md`](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG.md#v664)_
|
||
|
||
# v6.6.3
|
||
|
||
###### 2025/05/27
|
||
|
||
* `إضافة جديدة` ميزة سجل الاصدارات: عرض سجل التغييرات متعدد اللغات والاحصاءات
|
||
* `إضافة جديدة` الدالة timers.keepAlive (أصبحت عالمية) للحفاظ على بقاء السكربت نشطًا
|
||
* `إضافة جديدة` مستمعو الأحداث مثل engines.on('start/stop/error', callback) لأحداث المحرك العامة
|
||
* `إضافة جديدة` الدالة images.detectMultiColors للتحقق من ألوان متعددة النقاط _[`issue #374`](http://issues.autojs6.com/374)_
|
||
* `إضافة جديدة` الدوال images.matchFeatures/detectAndComputeFeatures: بحث صور بدقة كاملة (انظر [Auto.js Pro](https://g.pro.autojs.org/)) _[`issue #366`](http://issues.autojs6.com/366)_
|
||
* `إضافة جديدة` الدالة images.compressToBytes لضغط الصورة وإنتاج مصفوفة بايتات
|
||
* `إضافة جديدة` الدالة images.downsample لخفض الدقة وإنشاء ImageWrapper جديد
|
||
* `إضافة جديدة` الدالة ui.keepScreenOn لإبقاء الشاشة مضاءة عند تركيز صفحة الواجهة
|
||
* `إضافة جديدة` خاصية ui.root (getter) للحصول على عقدة "حاوية المحتوى الجذرية للنافذة" في تخطيط الواجهة
|
||
* `إضافة جديدة` عنصر webview يدعم تخطيطات صفحات الويب عبر JsBridge (انظر [Auto.js Pro](https://g.pro.autojs.org/)) [مثال: Layout > Interactive HTML / Vue2 + Vant (SFC)] _[`issue #281`](http://issues.autojs6.com/281)_
|
||
* `إضافة جديدة` مصحح التخطيط يدعم إخفاء العناصر (بواسطة [TonyJiangWJ](https://github.com/TonyJiangWJ)) _[`pr #371`](http://pr.autojs6.com/371)_ _[`issue #355`](http://issues.autojs6.com/355)_
|
||
* `تصليح` قد يتم حجب بعض محتوى الوثائق عبر الإنترنت في تبويب Docs وصفحة الوثائق بواسطة شريط التنقل
|
||
* `تصليح` في بعض الصفحات قد يؤدي النقر على أزرار شريط الأدوات إلى تفعيل حدث النقر على العنوان بالخطأ
|
||
* `تصليح` على بعض الاجهزة، كانت الاسطر الفارغة في محرر الشفرة تظهر كمربعات; اصلاح تجريبي
|
||
* `تصليح` مربع حوار لوحة الألوان في إعداد لون السمة قد يتراكم بلا حدود
|
||
* `تصليح` زر رفع الصوت لا يوقف جميع السكربتات عند تعطيل خدمة الوصول
|
||
* `تصليح` تداخل لوحة المفاتيح عند تحرير بث مخصّص في صفحة المهام المجدولة
|
||
* `تصليح` عناصر التحكم داخل webview لا تستطيع تفعيل لوحة المفاتيح البرمجية بشكل صحيح
|
||
* `تصليح` قد يفشل مربع معلومات APK في جلب اسم التطبيق أو معلومات SDK
|
||
* `تصليح` قد لا يتم تحميل محتوى المجلدات الفرعية تلقائيًا عند دخول مجلد مشروع في مثال مدير الملفات
|
||
* `تصليح` تغطية المحتوى العلوي بشريط الحالة في وضع الواجهة على Android 15
|
||
* `تصليح` لون خلفية شريط الحالة في بعض صفحات Android 15 لا يتبع لون السمة ديناميكيًا
|
||
* `تصليح` وحدة dialogs لا تدعم الخاصية customView _[`issue #364`](http://issues.autojs6.com/364)_
|
||
* `تصليح` قد لا يُرجع معامِل التعبير في dialogs.input نتيجة التنفيذ
|
||
* `تصليح` استخدام JavaAdapter يسبب تجاوز مكدس ClassLoader _[`issue #376`](http://issues.autojs6.com/376)_
|
||
* `تصليح` console.setContentTextColor يفقد اللون الافتراضي للنص _[`issue #346`](http://issues.autojs6.com/346)_
|
||
* `تصليح` console.setContentBackgroundColor لا يقبل أسماء الألوان _[`issue #384`](http://issues.autojs6.com/384)_
|
||
* `تصليح` تم تصحيح آلية images.compress: تغيّر جودة التشفير بدل خفض البكسلات
|
||
* `تصليح` الدالة images.resize لا تعمل بشكل صحيح
|
||
* `تصليح` engines.all قد يطلق ConcurrentModificationException _[`issue #394`](http://issues.autojs6.com/394)_
|
||
* `تصليح` تنسيقات تاريخ غير صحيحة في بعض اللغات داخل README.md
|
||
* `تصليح` قد تفشل عملية بناء Gradle بسبب طول غير صالح لأرشيف مكتبة _[`issue #389`](http://issues.autojs6.com/389)_
|
||
* `تحسين` إضافة فواصل متدرّجة في قائمة مصحح التخطيط لتجميع الوظائف
|
||
* `تحسين` يدعم project.json خيار permissions لمشاريع السكربتات (بواسطة [wirsnow](https://github.com/wirsnow)) _[`pr #391`](http://pr.autojs6.com/391)_ _[`issue #362`](http://issues.autojs6.com/362)_
|
||
* `تحسين` عند حزم ملف واحد تُقرأ أذونات التطبيق المثبت وتُحدد تلقائيًا _[`issue #362`](http://issues.autojs6.com/362)_
|
||
* `تحسين` توسيع نطاق تطبيق لون السمة ودعم المزيد من عناصر الواجهة
|
||
* `تحسين` تكيّف عرض الدرج الرئيسي للشاشات الأفقية والعريضة جدًا
|
||
* `تحسين` إضافة تخطيطات أفقية وصغيرة للصفحات «حول التطبيق» و«المطور»
|
||
* `تحسين` حوار إعدادات يوفر خيار "استخدام القيمة الافتراضية"
|
||
* `تحسين` زر الإجراء العائم في مدير الملفات يختفي تلقائيًا عند النقر خارجَه
|
||
* `تحسين` مُنسّق الشيفرة يدعم العناصر `??` و `?.` و `??=`
|
||
* `تحسين` يدعم محرّر الشيفرة قراءة وكتابة الملفات بترميزات GB18030 / UTF-16 (LE/BE) / Shift_JIS وغيرها
|
||
* `تحسين` يدعم محرّر الشيفرة عرض معلومات تفصيلية عن الملف (المسار/الترميز/فاصل الأسطر/إجمالي البايتات والحروف، إلخ.) _[`issue #395`](http://issues.autojs6.com/395)_
|
||
* `تحسين` إضافة رسائل خطأ لعمليات Intent (تحرير/عرض/تثبيت/إرسال/تشغيل وغيرها)
|
||
* `تحسين` خاصية url في webview تدعم المسارات النسبية
|
||
* `تحسين` وسيط path في ImageWrapper#saveTo يدعم المسارات النسبية
|
||
* `تحسين` images.save يدعم ضغط ملفات PNG عند استخدام الوسيط quality _[`issue #367`](http://issues.autojs6.com/367)_
|
||
* `تحسين` دعم مسح سجلات التحديثات المُتجاهَلة وعناوين وضع العميل
|
||
* `تحسين` معلومات التحديث تعرض بعدة لغات متزامنة مع لغة الواجهة الحالية
|
||
* `تحسين` التحميل غير المتزامن يحسّن سلاسة التمرير في قائمة مدير الملفات
|
||
* `تحسين` تحسين محتوى وتنسيق رسائل استثناء السكربت في وحدة التحكم
|
||
* `تحسين` أمثلة الشيفرة تدعم إعادة تعيين المجلد إلى محتواه الأصلي
|
||
* `تحسين` زيادة كفاءة التحقق من توقيع APK
|
||
* `تحسين` تحسين سرعة عرض وحالة معلومات حوارات ملفات APK/الوسائط
|
||
* `تحسين` نص بناء Gradle أصبح أكثر قدرة على التكيّف مع الإصدارات الجديدة _[`discussion #369`](http://discussions.autojs6.com/369)_
|
||
* `تحسين` تعديلات على إصدارات بعض التبعيات أو المكتبات المحلية _[`CHANGELOG.md`](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG.md#v663)_
|
||
|
||
##### للاطلاع على المزيد من سجل الإصدارات، راجع
|
||
|
||
* [CHANGELOG.md](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG-ar.md)
|
||
|
||
******
|
||
|
||
### <a id="project-compilation-and-build"></a>تجميع وبناء المشروع
|
||
|
||
******
|
||
|
||
لتصحيح أو تطوير مشروع 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 Panda 2 | 2025.3.2` (حدد أحدها حسب الحاجة):
|
||
|
||
- [android-studio-panda2-windows.exe](https://edgedl.me.gvt1.com/android/studio/install/2025.3.2.6/android-studio-panda2-windows.exe) (1.28 GiB)
|
||
- [android-studio-panda2-windows.zip](https://edgedl.me.gvt1.com/android/studio/ide-zips/2025.3.2.6/android-studio-panda2-windows.zip) (1.29 GiB)
|
||
- [android-studio-panda2-linux.tar.gz](https://edgedl.me.gvt1.com/android/studio/ide-zips/2025.3.2.6/android-studio-panda2-linux.tar.gz) (1.32 GiB)
|
||
|
||
> ملاحظة: تاريخ الإصدار بالنسخة المذكورة أعلاه هو 3 March 2026. إذا كنت بحاجة إلى تنزيل إصدار آخر، أو إذا كان الرابط المذكور غير صالح، يمكنك زيارة [أرشيف إصدارات Android Studio](https://developer.android.com/studio/archive?hl=en).
|
||
|
||
قم بتثبيت أو فك ضغط الملف المذكور سابقًا، ثم قم بتشغيل برنامج Android Studio (مثل `"D:\android-studio\bin\studio64.exe"`).
|
||
|
||
#### تحضير Android SDK
|
||
|
||
> ملاحظة: إذا كان نظام الكمبيوتر يحتوي بالفعل على Android SDK (مجموعة تطوير البرمجيات لنظام أندرويد)، فيمكنك تخطي هذا القسم.
|
||
|
||
افتح صفحة إعدادات `Android SDK (مجموعة تطوير برمجيات أندرويد)` (بأيٍّ من الطرق التالية):
|
||
|
||
```text
|
||
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)` (بأيٍّ من الطرق التالية):
|
||
|
||
```text
|
||
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`.
|
||
|
||
اعتبارًا من 14 March 2026، الإصدار الأقصى المدعوم من JDK لمشروع AutoJs6 هو `25`.
|
||
|
||
> ملاحظة: إذا كان نظام الكمبيوتر يحتوي على JDK والإصدار يفي بالمتطلبات المذكورة أعلاه، فيمكنك تخطي هذا القسم.
|
||
|
||
يمكن تنزيل JDK مباشرةً باستخدام IDE، أو زيارة [موقع Oracle](https://www.oracle.com/java/technologies/downloads/) لتنزيله.
|
||
|
||
افتح صفحة إعدادات `Gradle JDK` (بأيٍّ من الطرق التالية):
|
||
|
||
```text
|
||
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 (نظام التحكم في الإصدار الموزع)](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)
|
||
|
||
******
|
||
|
||
### <a id="script-development-assistance"></a>مساعدة تطوير السكريبت
|
||
|
||
******
|
||
|
||
لتطوير سكربتات يمكن تشغيلها بواسطة 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.
|
||
|
||
| <span style="word-break:keep-all;white-space:nowrap">المساهمون</span> | <span style="word-break:keep-all;white-space:nowrap">عدد الإرساليات</span> | <span style="word-break:keep-all;white-space:nowrap">أحدث الإرساليات</span> |
|
||
|:------:|:------:|:------:|
|
||
| <span style="word-break:keep-all;white-space:nowrap">[Willie169](https://github.com/Willie169)</span> | <span style="word-break:keep-all;white-space:nowrap">[1](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+is%3Amerged+author%3AWillie169)</span> | <span style="word-break:keep-all;white-space:nowrap">`2026/03/03`</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[LYS86](https://github.com/LYS86) `(Lin)`</span> | <span style="word-break:keep-all;white-space:nowrap">[4](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+is%3Amerged+author%3ALYS86)</span> | <span style="word-break:keep-all;white-space:nowrap">`2025/12/26`</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[wirsnow](https://github.com/wirsnow)</span> | <span style="word-break:keep-all;white-space:nowrap">[1](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+is%3Amerged+author%3Awirsnow)</span> | <span style="word-break:keep-all;white-space:nowrap">`2025/05/19`</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[TonyJiangWJ](https://github.com/TonyJiangWJ)</span> | <span style="word-break:keep-all;white-space:nowrap">[4](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+is%3Amerged+author%3ATonyJiangWJ)</span> | <span style="word-break:keep-all;white-space:nowrap">`2025/04/24`</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[luckyloogn](https://github.com/luckyloogn)</span> | <span style="word-break:keep-all;white-space:nowrap">[3](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+is%3Amerged+author%3Aluckyloogn)</span> | <span style="word-break:keep-all;white-space:nowrap">`2024/12/31`</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[kvii](https://github.com/kvii)</span> | <span style="word-break:keep-all;white-space:nowrap">[1](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+is%3Amerged+author%3Akvii)</span> | <span style="word-break:keep-all;white-space:nowrap">`2024/10/16`</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[chenguangming](https://github.com/chenguangming) `(Tom)`</span> | <span style="word-break:keep-all;white-space:nowrap">[2](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+is%3Amerged+author%3Achenguangming)</span> | <span style="word-break:keep-all;white-space:nowrap">`2024/05/14`</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[LZX284](https://github.com/LZX284) `(AI)`</span> | <span style="word-break:keep-all;white-space:nowrap">[7](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+is%3Amerged+author%3ALZX284)</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/11/15`</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[kojoe‑code](https://github.com/kojoe-code) `(抠脚本人)`</span> | <span style="word-break:keep-all;white-space:nowrap">[12](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+is%3Amerged+author%3Akojoe-code)</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/07/12`</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[aiselp](https://github.com/aiselp)</span> | <span style="word-break:keep-all;white-space:nowrap">[6](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+is%3Amerged+author%3Aaiselp)</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/06/14`</span> |
|
||
تم تحديث البيانات في 4 March 2026.
|
||
|
||
تم تصنيف سجلات البيانات بترتيب تنازلي حسب `أحدث الإرساليات`.
|
||
|
||
طلبات السحب الجديدة غير المعالجة بعد، سيتم إدراجها في الإحصاءات بعد الدمج.
|
||
|
||
بعض المساهمين قد لا يظهرون بشكل صحيح في [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 #
|
||
# --------------------------------------------------------------#
|
||
- IDE
|
||
- The summary of the latest changelog for committing to Git [ DO NOT commit or push ]
|
||
- $projectDir/version.properties
|
||
- Remove the part like [ alpha / beta / ... ] of VERSION_NAME
|
||
- $projectDir/.changelog/lang_zh-Hans.json
|
||
- Update version name and released date
|
||
- Translate into other languages
|
||
- Update TypeScript declarations according to section `dependency` if needed
|
||
- $projectDir/.readme/template_readme.md
|
||
- Update Rhino badge
|
||
- Update Android Studio and IntelliJ IDEA badges [ link: aj6mdgen ]
|
||
- Update contribution section: [ h3_contribution ] [ link: aj6scrapers ]
|
||
- $projectDir/.readme/common.json
|
||
- Update android studio download links and version names [ link: aj6scrapers ]
|
||
- Update contribution section: var_date_contribution_table_data_updated [ link: aj6scrapers ]
|
||
- $projectDir/.python/generate_markdown.py
|
||
- Re-generate markdown by running the python script [ link: aj6mdgen ]
|
||
- Others
|
||
- Re-generate documentation by running the python script [ link: aj6docgen ]
|
||
- Check the two-way versions for AutoJs6 and VSCode ext, then publish the ext to Microsoft if needed
|
||
- Run Gradle task "app:assembleInrtRelease" [ shortcut: C+A+0#- ]
|
||
- Build APK to determine the final VERSION_BUILD field [ shortcut: C+A+0#A ]
|
||
- Run Gradle task "app:appendDigestToReleasedFiles" [ shortcut: C+A+0#= ]
|
||
- Check VERSION_BUILD in version.properties with released apks
|
||
- Commit and push to GitHub
|
||
- Publish the latest release with signed APKs
|
||
) |