`)
* `Улучшение` Редактор кода поддерживает интеллектуальное определение места вставки при импорте 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)_
##### Для получения более подробной информации о версиях см. раздел
* [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`.
По состоянию на 2 May 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) `(Tom)` | [2](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+author%3Achenguangming) | `2024/05/14` |
| [LZX284](https://github.com/LZX284) `(AI)` | [17](https://github.com/SuperMonster003/AutoJs6/commits?author=LZX284) | `2023/11/19` |
| [TonyJiangWJ](https://github.com/TonyJiangWJ) | [4](https://github.com/SuperMonster003/AutoJs6/commits?author=TonyJiangWJ) | `2023/10/31` |
| [little‑alei](https://github.com/little-alei) `(抠脚本人)` | [12](https://github.com/SuperMonster003/AutoJs6/commits?author=little-alei) | `2023/07/12` |
| [aiselp](https://github.com/aiselp) | [6](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+author%3Aaiselp) | `2023/06/14` |
| [LYS86](https://github.com/LYS86) `(Lin)` | [2](https://github.com/SuperMonster003/AutoJs6/commits?author=LYS86) | `2023/06/03` |
Данные обновлены на 1 January 2025 года.
Данные отсортированы по `последним отправкам` в порядке убывания.
Новые необработанные 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"
- Check VERSION_BUILD in version.properties with released apks
- Commit and push to GitHub
- Publish the latest release with signed APKs
)