708 lines
102 KiB
Markdown
708 lines
102 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] # текущий
|
||
- [العربية [ar]](http://project.autojs6.com/blob/master/.readme/README-ar.md)
|
||
|
||
******
|
||
|
||
### Введение
|
||
|
||
******
|
||
|
||
[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 года.
|
||
|
||
******
|
||
|
||
### Функции
|
||
|
||
******
|
||
|
||
* Можно использовать в качестве JavaScript IDE (автодополнение кода / переименование переменных / форматирование кода)
|
||
* Поддержка автоматизации на основе [службы доступности](https://developer.android.com/reference/android/accessibilityservice/AccessibilityService)
|
||
* Поддержка быстрых действий через плавающую кнопку (запись скриптов и их выполнение / просмотр имени пакета и активности / анализ макета)
|
||
* Поддержка API селекторов, предоставляющая возможности обхода виджетов / получения информации / управления виджетами (аналогично [UiAutomator](https://developer.android.com/training/testing/ui-automator))
|
||
* Поддержка анализа интерфейса макета (аналогично LayoutInspector из Android Studio)
|
||
* Поддержка функции записи и воспроизведения записанного
|
||
* Поддержка создания скриншотов / сохранения скриншотов / поиска по изображениям / сопоставления изображений
|
||
* Поддержка написания интерфейсов с использованием [E4X](https://zh.wikipedia.org/wiki/E4X) (ECMAScript для XML)
|
||
* Поддержка упаковки файлов скриптов или проекта в APK файл
|
||
* Поддержка расширенных функций с использованием привилегий Root (нажатия на экран / пролистывания / записи / 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/) и использование системных API
|
||
* Поддержка построения экземпляров [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) и сервера (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://developer.mozilla.org/zh-CN/docs/Glossary/Code_point) и символов [в дополнительных плоскостях](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)}`
|
||
```
|
||
* Просмотр новых функций движка Rhino [новые функции](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/RHINO.md)
|
||
* Просмотр списка совместимости движка Rhino [список совместимости](https://mozilla.github.io/rhino/compat/engines.html)
|
||
|
||
******
|
||
|
||
### История Релизов
|
||
|
||
******
|
||
|
||
# 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, для получения единого общего ID устройства между приложениями _[`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
|
||
* `Исправление` Проблема, из-за которой было невозможно отображать тип данных BigInt через методы console/toast и подобные
|
||
* `Исправление` Проблема, из-за которой метод 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)_
|
||
* `Исправление` Проблема, из-за которой пустые строки в редакторе кода отображались квадратными символами на некоторых устройствах (пробное исправление)
|
||
* `Исправление` Проблема, из-за которой экранная клавиатура могла перекрывать текст в редакторе кода
|
||
* `Исправление` Проблема, из-за которой редактор кода позволял редактировать содержимое даже в режиме только чтения
|
||
* `Исправление` Проблема, из-за которой нажатие на область заголовка и некоторые пункты меню в режиме только чтения вызывало сбой приложения в редакторе кода
|
||
* `Исправление` Проблема, из-за которой загрузка больших файлов в редакторе кода могла вызывать сбой приложения (пробное исправление)
|
||
* `Исправление` Аномальная инициализация состояния функциональных кнопок при автоматическом открытии нового файла редактором кода
|
||
* `Исправление` Проблема, из-за которой перевод приложения в фон во время редактирования файла в редакторе кода мог вызывать сбой
|
||
* `Исправление` Проблема, из-за которой на Android 15+ нажатие кнопки fx в редакторе кода не показывало быстрый модульный панель функций (пробное исправление)
|
||
* `Исправление` Проблема, из-за которой 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)_
|
||
* `Улучшение` Страница конфигурации упаковки приложения поддерживает чтение и настройку большего числа опций (показывать журналы при запуске/показывать экран запуска при запуске/текст слогана экрана запуска/...)
|
||
* `Улучшение` На странице настроек упакованного приложения добавлен переключатель foreground service _[`issue #406`](http://issues.autojs6.com/406)_
|
||
* `Улучшение` При сохранении файла конфигурации проекта скрипта добавлен механизм обнаружения конфликтов имен ключей для предотвращения неоднозначности
|
||
* `Улучшение` Страница отчета о сбое поддерживает масштабирование двумя пальцами для изменения размера шрифта и добавляет кнопки часто используемых функций
|
||
* `Улучшение` Значки лаунчера приложения теперь поддерживают возможности адаптивных иконок _[`issue #405`](http://issues.autojs6.com/405)_
|
||
* `Улучшение` Если движок Rhino не может разобрать сигнатуры дженериков, он теперь откатывается к исходным типам reflection, улучшая доступность 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)_
|
||
* `Улучшение` На странице настройки цвета темы используется быстрый способ позиционирования для повышения эффективности поиска нужного цвета темы
|
||
* `Улучшение` Вместо устаревшего [LocalBroadcastManager](https://developer.android.com/jetpack/androidx/releases/localbroadcastmanager) используются [LiveData](https://developer.android.com/topic/libraries/architecture/livedata) и [SharedFlow](https://developer.android.com/kotlin/flow/stateflow-and-sharedflow)
|
||
* `Улучшение` Скрипты сборки 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 plugins
|
||
* `Улучшение` Использование convention plugins 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-страница в фокусе
|
||
* `Новое` Свойство ui.root (getter) для получения узла «корневой контейнер содержимого окна» в макете UI
|
||
* `Новое` Элемент 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 и в активности Docs могла перекрываться системной навигационной панелью
|
||
* `Исправление` На некоторых страницах нажатие кнопок Toolbar могло ошибочно вызывать событие клика по заголовку
|
||
* `Исправление` На некоторых устройствах пустые строки в редакторе кода отображались квадратами; пробное исправление
|
||
* `Исправление` Диалог выбора цвета в настройках темы мог бесконечно накладываться друг на друга
|
||
* `Исправление` Кнопка увеличения громкости не останавливала все скрипты при выключенной службе доступности
|
||
* `Исправление` IME перекрывал ввод при редактировании пользовательского широковещательного сообщения в расписании задач
|
||
* `Исправление` Элементы управления внутри webview не могли корректно вызвать программную клавиатуру
|
||
* `Исправление` Диалог информации APK мог не получать название приложения и сведения о SDK
|
||
* `Исправление` Пример файлового менеджера мог не загружать содержимое подпапок при входе в каталог проекта
|
||
* `Исправление` В режиме UI на 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-ru.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 (Набор средств разработки для Android)` (любыми из следующих способов):
|
||
|
||
```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 (место расположения пакета SDK для Android)` пустое, нажмите кнопку `Редактировать (Edit)` справа и несколько раз нажимайте `Далее (Next)` в появившемся окне.
|
||
|
||
> Примечание: В процессе может потребоваться согласие с одним или несколькими соответствующими соглашениями для продолжения.
|
||
|
||
После завершения загрузки и установки соответствующих ресурсов нажмите кнопку `Завершить (Finish)`.
|
||
Местоположение `Android SDK (место расположения пакета SDK для Android)` будет заполнено автоматически, что завершит подготовку 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 (Java Development Kit)` не ниже `17`, но рекомендуется не ниже `21`.
|
||
|
||
По состоянию на 14 March 2026 года AutoJs6 поддерживает JDK максимальной версии `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
|
||
```
|
||
|
||
В разделе `Gradle JDK` можно выбрать или добавить разные версии JDK.
|
||
|
||
Если в списке уже существует подходящая версия JDK (>= `17`), выберите её напрямую.
|
||
Либо можно выбрать `Download JDK` для загрузки соответствующего JDK, нажмите кнопку `Download` и дождитесь завершения загрузки.
|
||
Вы также можете выбрать `Add JDK` и добавить уже установленный JDK, указав его путь, для завершения добавления JDK.
|
||
|
||
#### Клонирование ресурсов AutoJs6
|
||
|
||
На главной странице Android Studio нажмите кнопку `Get from VCS`.
|
||
В поле `URL` введите `https://github.com/SuperMonster003/AutoJs6.git`,
|
||
В поле `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)`
|
||
- Создание APK файла с отладочной подписью
|
||
- Пример пути: `"D:\AutoJs6\app\build\outputs\apk\debug\"`
|
||
- Релизная версия (Release Version)
|
||
- `Build (Сборка)` | `Generate Signed Bundle / APK`
|
||
- Выберите опцию `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 (автодополнение кода)
|
||
|
||
При написании кода вы можете в любой момент обращаться к документации по API и способам использования AutoJs6:
|
||
|
||
- [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) - Все репозитории на GitHub с темой autojs
|
||
|
||
******
|
||
|
||
### Вклад участников
|
||
|
||
******
|
||
|
||
Благодарим всех участников проекта 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 года.
|
||
|
||
Данные отсортированы по `последним отправкам` в порядке убывания.
|
||
|
||
Новые необработанные Pull Request будут учтены в статистике после объединения.
|
||
|
||
Некоторые участники не отображаются на [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
|
||
) |