`)
* `Улучшение` Редактор кода поддерживает интеллектуальное определение места вставки при импорте Java классов и пакетов имен
* `Улучшение` Модуль images поддерживает использование путей напрямую в качестве параметров изображений
* `Улучшение` importPackage поддерживает строковые параметры
* `Улучшение` IP-адрес в режиме сервера поддерживает импорт из буфера обмена с интеллектуальным определением и конверсией с пробелом
* `Улучшение` Файловый менеджер поддерживает выбор префиксов по умолчанию при создании новых файлов и автоматически генерирует подходящее числовое расширение
* `Улучшение` Файловый менеджер четко уведомляет об ошибке при выполнении проекта _[`issue #268`](http://issues.autojs6.com/268)_
* `Улучшение` Файловый менеджер поддерживает больше типов и отображает соответствующие значки (поддерживает более 800 типов файлов)
* `Улучшение` Редактируемые типы файлов (jpg/doc/pdf и т.д.) в файловом менеджере добавлены кнопки для редактирования
* `Улучшение` APK-файлы в файловом менеджере поддерживают просмотр базовой информации, информации о манифесте и списке разрешений
* `Улучшение` Мультимедийные аудио/видео файлы в файловом менеджере поддерживают просмотр базовой информации и MediaInfo
* `Улучшение` Упаковка файлов в одном пакете поддерживает автоматическое заполнение стандартизированного имени пакета и индикацию фильтра недопустимого символа
* `Улучшение` Упаковка файлов в одном пакете поддерживает автоматическую настройку значка и автоинкремент номера и имени версии на основе приложений с тем же установленным именем пакета
* `Улучшение` Настройка конфигурации пакета поддерживает опции abis/libs для указания включенной по умолчанию библиотеки и архитектуры ABI
* `Улучшение` Предоставляет предупреждения о релевантных сообщениях, когда настройки abis/libs конфигурационного файла пакета недействительны или недоступны
* `Улучшение` LeakCanary исключен из официального релиза для предотвращения ненужного увеличения
* `Улучшение` Все английские комментарии в исходном коде проекта сопровождаются переводами на упрощенный китайский для улучшения читаемости
* `Улучшение` README и CHANGELOG поддерживают несколько языков (автоматически генерируются скриптом)
* `Улучшение` Улучшить адаптируемость версии скрипта сборки Gradle
* `Улучшение` Изменения версий некоторых зависимостей или локальных библиотек _[`CHANGELOG.md`](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG.md#v660)_
# v6.5.0
###### 2023/12/02
* `Новое` Модуль opencc (см. Документацию проекта > [Конвертация китайских символов](https://docs.autojs6.com/#/opencc)) (см. [LZX284](https://github.com/SuperMonster003/AutoJs6/pull/187/files#diff-8cff73265af19c059547b76aca8882cbaa3209291406f52df1dafbbc78e80c46R268))
* `Новое` Добавлены методы [plus](https://docs.autojs6.com/#/uiObjectType?id=m-plus) и [append](https://docs.autojs6.com/#/uiObjectType?id=m-append) в UiSelector _[`issue #115`](http://issues.autojs6.com/115)_
* `Новое` Добавлена поддержка фильтрации ABI и библиотек на странице упаковки (см. [AutoX](https://github.com/kkevsekk1/AutoX)) _[`issue #189`](http://issues.autojs6.com/189)_
* `Исправление` Проблема с аномально большим размером упакованных приложений (см. [AutoX](https://github.com/kkevsekk1/AutoX) / [LZX284](https://github.com/SuperMonster003/AutoJs6/pull/187/files#diff-d932ac49867d4610f8eeb21b59306e8e923d016cbca192b254caebd829198856R61)) _[`issue #176`](http://issues.autojs6.com/176)_
* `Исправление` Проблема с невозможностью отображения и печати некоторых сообщений об ошибках в упакованных приложениях
* `Исправление` Проблема с отображением пустого значка после выбора значка приложения на странице упаковки
* `Исправление` Проблема с необработанным исключением при инициализации контекста при использовании библиотеки Google OCR MLKit
* `Исправление` Неисправность методов ocr.mlkit/ocr.recognizeText/detect
* `Исправление` Проблема с несоответствием языка отображения текста (например, на странице журнала) языковому параметру приложения
* `Исправление` Проблема с переполнением текста в некоторых языках в пункте меню основного экрана
* `Исправление` Проблема с автоматическим выключением сервиса специальных возможностей без сообщения на некоторых устройствах _[`issue #181`](http://issues.autojs6.com/181)_
* `Исправление` Проблема с аварийным завершением приложения при использовании физических кнопок устройств при включенной службе специальных возможностей на некоторых устройствах (попытка исправления) _[`issue #183`](http://issues.autojs6.com/183)_ _[`issue #186`](http://issues.autojs6.com/186#issuecomment-1817307790)_
* `Исправление` Проблема с некорректной работой функции pickup после перезапуска службы специальных возможностей с помощью auto(true) (попытка исправления) _[`issue #184`](http://issues.autojs6.com/184)_
* `Исправление` Проблема с аварийным завершением приложения при перетаскивании плавающего окна, созданного с помощью модуля floaty (попытка исправления)
* `Исправление` Проблема с невозможностью использования короткого имени параметра в app.startActivity _[`issue #182`](http://issues.autojs6.com/182)_ _[`issue #188`](http://issues.autojs6.com/188)_
* `Исправление` Проблема с исключением при конфликте импортируемых имен и глобальных переменных в importClass _[`issue #185`](http://issues.autojs6.com/185)_
* `Исправление` Проблема с невозможностью использования службы специальных возможностей в Android 7.x
* `Исправление` Проблема с возможной неспособностью использования методов runtime.loadJar/loadDex в Android 14 (попытка исправления)
* `Исправление` Проблема с недоступностью функций "Анализировать диапазон раскладки" и "Анализировать иерархию раскладки" в панели быстрых настроек Android _[`issue #193`](http://issues.autojs6.com/193)_
* `Исправление` Проблема с возможным появлением ANR (в приложении [ANR](https://developer.android.com/topic/performance/vitals/anr)) при автоматической проверке обновлений (попытка исправления) _[`issue #186`](http://issues.autojs6.com/186)_
* `Исправление` Проблема с невозможностью вернуться на рабочую страницу после нажатия кнопки "Вверх" в примерах кода файлового менеджера _[`issue #129`](http://issues.autojs6.com/129)_
* `Исправление` Проблема с отображением кнопки замены в редакторе кода при использовании функции замены
* `Исправление` Проблема с аварийным завершением приложения при долгом нажатии на удалении в редакторе кода (попытка исправления)
* `Исправление` Проблема с кнопкой fx, не отображающей панель быстрого доступа к функциям модуля в редакторе кода
* `Исправление` Проблема с переполнением названий функций кнопок на панели быстрого доступа к функциям модуля редактора кода
* `Улучшение` Панель быстрых функций модуля редактора кода адаптируется к ночному режиму.
* `Улучшение` Стартовая страница упакованного приложения адаптируется к ночному режиму, а размещение значков приложения корректируется.
* `Улучшение` Страница упакованного приложения поддерживает навигацию курсора с помощью клавиши ENTER на программной клавиатуре.
* `Улучшение` Страница упакованного приложения поддерживает переключение состояния выбора всего при нажатии на заголовки ABI и библиотеки.
* `Улучшение` Выбор ABI по умолчанию осуществляется интеллектуально на странице упакованного приложения с добавлением приглашений для неселектируемых элементов.
* `Улучшение` Файловый менеджер корректирует отображение элементов меню в зависимости от типа и характеристик файлов и папок.
* `Улучшение` Контекстное меню для папок в файловом менеджере добавляет опцию упаковки приложений.
* `Улучшение` Когда службы доступности включены, но работают некорректно, аномальное состояние отображается в переключателе ящика на главной странице AutoJs6.
* `Улучшение` Консоль включает подробную информацию о стеке при печати сообщений об ошибках.
* `Улучшение` Изменения версий некоторых зависимостей или локальных библиотек _[`CHANGELOG.md`](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG.md#v650)_
##### Для получения более подробной информации о версиях см. раздел
* [CHANGELOG.md](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG-ru.md)
******
### Компиляция и сборка проекта
******
Для отладки или разработки проекта AutoJs6 с открытым исходным кодом можно использовать [Android Studio](https://pro.autojs.org/) (продукт компании [Google](https://www.google.com/)) или [IntelliJ IDEA](https://www.jetbrains.com/idea/) (продукт компании [Jetbrains](https://www.jetbrains.com/)).
В данном разделе приведён пример методов компиляции и сборки для проекта AutoJs6 с использованием Android Studio. IntelliJ IDEA аналогичен.
#### Подготовка Android Studio
Скачайте версию `Android Studio Meerkat | 2024.3.1 Patch 1` (выберите одну из них по необходимости):
- [android-studio-2024.3.1.14-windows.exe](https://redirector.gvt1.com/edgedl/android/studio/install/2024.3.1.14/android-studio-2024.3.1.14-windows.exe) (1.22 GB)
- [android-studio-2024.3.1.14-windows.zip](https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2024.3.1.14/android-studio-2024.3.1.14-windows.zip) (1.23 GB)
> Примечание: Указанная версия была выпущена 24 March 2025 г.. Для загрузки других версий или если указанная ссылка недействительна, посетите страницу [архива версий Android Studio](https://developer.android.com/studio/archive?hl=en).
Установите или распакуйте указанные файлы, запустите программное обеспечение Android Studio (например, `"D:\android-studio\bin\studio64.exe"`).
#### Подготовка Android SDK
> Примечание: Если на компьютере уже установлен Android SDK, раздел может быть пропущен.
Используйте сочетание клавиш `CTRL + ALT + S` для открытия страницы настроек в Android Studio:
```text
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, раздел может быть пропущен.
Используйте сочетание клавиш `CTRL + ALT + S` для открытия страницы настроек в Android Studio:
```text
Appearance & Behavior (Внешний вид и поведение) ->
System Settings (Системные настройки) ->
Android SDK (Набор инструментов для разработки Android) ->
SDK Tools (SDK Инструменты) (находится в правом окне)
```
Отметьте `Show Package Details (Показать детали пакета)`, затем последовательно выберите NDK и CMake, убедитесь, что соответствующие версии инструментов отмечены, Информация о версиях инструментов SDK находится в файле `version.properties` в корневом каталоге проекта AutoJs6.
#### Подготовка JDK
Для проекта AutoJs6 требуется версия `JDK (Java Development Kit)` не ниже `17`, но рекомендуется не ниже `19`.
По состоянию на 12 April 2025 г. AutoJs6 поддерживает JDK максимальной версии `24`.
> Примечание: Если на компьютере уже установлен JDK и версия соответствует указанным требованиям, этот раздел можно пропустить.
JDK можно скачать непосредственно через IDE или на [сайте Oracle](https://www.oracle.com/java/technologies/downloads/).
В программном обеспечении Android Studio используйте сочетание клавиш `CTRL + ALT + S` для открытия страницы настроек:
```text
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)
******
### Помощь в разработке скриптов
******
Для разработки скриптов, работающих в 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 за их вклад.
| Участники | Количество коммитов | Последние коммиты |
|:----------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------:|
| [luckyloogn](https://github.com/luckyloogn) | [3](https://github.com/SuperMonster003/AutoJs6/commits?author=luckyloogn) | `2025/01/01` |
| [kvii](https://github.com/kvii) | [1](https://github.com/SuperMonster003/AutoJs6/commits?author=kvii) | `2024/10/16` |
| [chenguangming](https://github.com/chenguangming) | [2](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+author%3Achenguangming) | `2024/05/14` |
| [LZX284](https://github.com/LZX284) | [17](https://github.com/SuperMonster003/AutoJs6/commits?author=LZX284) | `2023/11/19` |
| [TonyJiangWJ](https://github.com/TonyJiangWJ) | [4](https://github.com/SuperMonster003/AutoJs6/commits?author=TonyJiangWJ) | `2023/10/31` |
| [little‑alei](https://github.com/little-alei) | [12](https://github.com/SuperMonster003/AutoJs6/commits?author=little-alei) | `2023/07/12` |
| [aiselp](https://github.com/aiselp) | [6](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+author%3Aaiselp) | `2023/06/14` |
| [LYS86](https://github.com/LYS86) | [2](https://github.com/SuperMonster003/AutoJs6/commits?author=LYS86) | `2023/06/03` |
Данные обновлены на 1 January 2025 г..
Данные отсортированы по `последним отправкам` в порядке убывания.
Новые необработанные 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 #
# --------------------------------------------------------------#
- CHANGELOG.md
- Update entries for AutoJs6 by checking all changed files
- Update entries for Gradle plugins [ implementation ]
- Update version name and released date
- Append related GitHub issues to changelog entries
- README.md
- The summary of the latest changelog for committing to Git [ DO NOT commit or push ]
- Update badges like [ android studio / rhino / ... ]
- Update android studio download links and version names
- Update contribution section
- Remove the part like [ alpha / beta / ... ] of VERSION_NAME in version.properties
- Update dependencies TypeScript declarations if needed.
- Re-generate documentation/markdown by running the python script
- Check the two-way versions for AutoJs6 and VSCode ext, then publish the ext to Microsoft
- Run Gradle task "app:assembleInrtRelease"
- Build APK to determine the final VERSION_BUILD field
- Run Gradle task "app:appendDigestToReleasedFiles"
- Commit and push to GitHub
- Publish the latest release with signed APKs
)