Files
AutoJs6/.readme/README-ru.md
2026-03-14 22:36:27 +08:00

102 KiB
Raw Blame History

autojs6-banner_800×224

Инструмент автоматизации на языке JavaScript для платформы Android с поддержкой службы доступности

GitHub release (latest by date) GitHub closed issues Created
Android Studio IntelliJ IDEA
Rhino JetBrains supporter GitHub License


Языки


Текущий файл README.md поддерживает следующие языки:


Введение


Auto.js — это инструмент автоматизации на языке JavaScript для платформы Android с поддержкой службы доступности.

Auto.js был выпущен hyb1996 в 2017/01/27, и его поддержка прекратилась в 2020/03/13, финальная версия - 4.1.1 Alpha2, номер сборки - 461.

AutoJs6 разработан на основе финальной версии проекта Auto.js и вышел в 2021/12/01, оставаясь бесплатным с открытым исходным кодом.

В таблице ниже перечислены некоторые проекты, связанные с Auto.js (отсортированы по дате начала разработки):

Проект Название приложения Основные Разработчики Дата начала разработки Дата окончания разработки Период активного обслуживания (год)
Auto.js Auto.js hyb1996 2017/01/27 2020/03/13 3.13
Auto.js Pro 7 Auto.js hyb1996 2019/03/13 2019/07/08 0.32
Auto.js Pro 8 AutoJsPro hyb1996 2019/10/13 2021/07/24 1.78
Auto.js Auto.js M TonyJiangWJ 2019/11/21 - < 6.32 >
AutoX Autox.js kkevsekk1 2020/07/24 [ 2025/01/07 ] 4.46
Auto.js Pro 9 AutoJsPro hyb1996 2021/03/28 2023/02/09 1.87
AutoJs6 AutoJs6 SuperMonster003 2021/12/01 - < 4.28 >
autojs4 Auto.js blackcd318 2021/12/15 2023/07/31 1.62
AutoX Autox.js v6 wilinz / aiselp 2022/05/26 [ 2025/01/07 ] 2.62
openautojs OpenAuto.js openautojs 2023/02/17 2023/04/16 0.16
AutoJs4 AutoJs4 SuperMonster003 2023/04/11 - < 2.93 >
AutoX Autox.js v7 aiselp 2024/04/21 - < 1.90 >
Autoxjs_v6_ozobi Autox.js v6_ozobi ozobiozobi 2024/10/01 - < 1.45 >
AutoX Autox.js v6 autox-community 2025/03/30 - < 0.96 >

Даты в таблице являются оценочными и могут отличаться от фактических.

В таблице Auto.js Pro 7/8/9 указаны как платные версии, остальные являются бесплатными версиями с открытым исходным кодом.

В таблице данные в столбце Дата окончания разработки, содержащие квадратные скобки ([]), означают, что открытый проект временно недоступен.

В таблице данные в столбце Период активного обслуживания, содержащие угловые скобки (<>), учитываются по состоянию на 14 March 2026 года.


Функции


  • Можно использовать в качестве JavaScript IDE (автодополнение кода / переименование переменных / форматирование кода)
  • Поддержка автоматизации на основе службы доступности
  • Поддержка быстрых действий через плавающую кнопку (запись скриптов и их выполнение / просмотр имени пакета и активности / анализ макета)
  • Поддержка API селекторов, предоставляющая возможности обхода виджетов / получения информации / управления виджетами (аналогично UiAutomator)
  • Поддержка анализа интерфейса макета (аналогично LayoutInspector из Android Studio)
  • Поддержка функции записи и воспроизведения записанного
  • Поддержка создания скриншотов / сохранения скриншотов / поиска по изображениям / сопоставления изображений
  • Поддержка написания интерфейсов с использованием E4X (ECMAScript для XML)
  • Поддержка упаковки файлов скриптов или проекта в APK файл
  • Поддержка расширенных функций с использованием привилегий Root (нажатия на экран / пролистывания / записи / Shell)
  • Поддержка работы в качестве плагина для Tasker
  • Поддержка подключения к VSCode для разработки на рабочем столе (требуется плагин AutoJs6-VSCode-Extension)

Окружение


  • Операционная система Android
  • API 24 (7.0) [N] и выше

Руководство



Основные изменения


По сравнению с окончательной версией с открытым исходным кодом Auto.js 4.1.1 Alpha2, AutoJs6 включает следующие основные обновления или изменения:

  • Поддержка получения привилегий ADB через Shizuku и использование системных API
  • Поддержка построения экземпляров WebSocket для выполнения сетевых запросов на основе протокола WebSocket
  • Добавлены новые модули [ base64 / crypto / sqlite / i18n / notice / ocr / opencc / qrcode / shizuku / ... ]
  • Поддержка нескольких языков [ испанский / французский / русский / арабский / японский / корейский / английский / упрощенный китайский / традиционный китайский / ... ]
  • Адаптация темы [ Группировка / Локация / Поиск / История / Автоматическая адаптация яркости и контрастности / ... ]
  • Поддержка ночного режима [ страница настроек / страница документации / страница анализа макета / плавающее окно / ... ]
  • Плагин VSCode поддерживает варианты подключения клиента (LAN) и сервера (LAN/ADB)
  • Движок Rhino обновлен с версии v1.7.7.2 до версии v2.0.0-SNAPSHOT (обновлено 25 December 2025 года)

История Релизов


v6.7.0

2026/03/14
  • Новое Функция Центр плагинов, поддерживающая установку/удаление/обновление плагинов и другие операции (вход: кнопка боковой панели главной страницы/вкладка главной страницы)
  • Новое Функция История версий, поддерживающая просмотр/восстановление исторических версий редактируемых файлов (вход: кнопка боковой панели главной страницы/меню файлового менеджера/меню редактора кода)
  • Новое Функция Корзина, поддерживающая просмотр/восстановление удаленных файлов/папок (вход: кнопка боковой панели главной страницы)
  • Новое Плагин Paddle OCR (PP-OCRv5), для оптического распознавания символов
  • Новое Модуль cvt, для преобразования единиц данных (см. Документация проекта > Преобразование единиц)
  • Новое Модуль fmt, для форматирования данных (см. Документация проекта > Форматирование)
  • Новое Модуль zip, для операций сжатия и распаковки файлов (Ref to Auto.js Pro) (см. Документация проекта > Zip)
  • Новое Модуль mediainfo, для просмотра подробной информации о медиафайлах (см. Документация проекта > Информация о медиа)
  • Новое Метод cvt.bytes, для преобразования единиц байтовых данных (см. Документация проекта > Преобразование единиц)
  • Новое Метод fmt.bytes, для форматирования байтовых данных (см. Документация проекта > Форматирование)
  • Новое Метод s13n.bytes, для стандартизации байтовых данных (см. Документация проекта > Стандартизация)
  • Новое Метод app.isDualInstalled, для определения, установлено ли двойное приложение (требуются права Shizuku или Root) issue #450
  • Новое Метод device.getSharedDeviceId, для получения единого общего ID устройства между приложениями issue #455
  • Новое Метод device.setPointerLocation и другие методы серии Toggleable, для установки или получения системной настройки положения указателя issue #381
  • Новое Метод dialogs.build поддерживает параметры textAllCaps/(positive/negative/neutral)TextAllCaps, для управления тем, должен ли текст кнопок отображаться полностью заглавными буквами
  • Новое Метод images.loadAsync, для асинхронного получения сетевых графических ресурсов issue #327
  • Новое Метод ui.getNavigationBarHeight/свойство navigationBarHeight (getter), для получения высоты панели навигации issue #456
  • Новое Метод ui.getVisible(Status/Navigation)BarHeight/свойство visible(Status/Navigation)BarHeight (getter), для быстрого получения видимой высоты строки состояния или панели навигации issue #456
  • Новое Методы http.put/del(ete)/head, для отправки сетевых запросов с использованием разных HTTP-методов
  • Новое Методы http.getAsync/postAsync/requestAsync и другие, для асинхронной отправки сетевых запросов issue #423
  • Новое Объект body, получаемый методами запросов модуля http, дополнен методами stream/saveToFile/close и др. issue #452
  • Новое Методы запросов модуля http поддерживают параметры управления кешем (cacheBody/bodyCacheThresholdBytes)
  • Новое Методы запросов модуля http поддерживают небезопасные параметры (isInsecure/insecure), для игнорирования исключений, связанных с сертификатами issue #417
  • Новое Методы запросов модуля http поддерживают опцию options.client, для настройки OkHttpClient.Builder (например, followRedirects и т. п.) issue #454
  • Новое Свойство auto.state (getter) и свойство shizuku.state (getter), для получения состояния службы специальных возможностей и службы Shizuku
  • Новое Методы runtime.(set/is)JavaPrimitiveWrap, для установки или получения стратегии обертки примитивных типов Java issue #435
  • Новое Методы autojs.(restart/exit), для перезапуска или выхода из приложения AutoJs6, а также с поддержкой автоматического запуска указанного скрипта при перезапуске приложения issue #460
  • Новое Метод UiObject#isShifted, для определения изменения положения элемента issue #469
  • Новое Метод UiObject#snapshot, для захвата текущего состояния элемента issue #469
  • Новое Метод engines.myEngine().getStartTime(), для получения временной метки запуска движка скриптов issue #449
  • Новое Глобальный метод crash, для тестирования страницы отчета о сбое
  • Новое Глобальный метод structuredClone, для глубокого копирования объектов JavaScript (см. MDN)
  • Новое Селекторы серии эквивалентности (UiSelector#id/text/...) и серии содержит (UiSelector#xxxContains) поддерживают параметры регулярных выражений
  • Новое Параметры регулярных выражений селекторов поддерживают флаги (i, m, s, u)
  • Новое Регулярные выражения поддерживают синтаксис lookbehind issue #464
  • Новое В файловом менеджере добавлены пункты меню "Переместить в" и "Копировать в" с поддержкой прерывания операции и отображения состояния прогресса
  • Новое В редакторе кода добавлен пункт меню "Многофункциональная клавиатура" - "Настройки символов", с поддержкой редактирования символов и создания/импорта/экспорта символов по уровням профилей
  • Новое В боковую панель главной страницы добавлен инструмент "Положение указателя"
  • Новое В боковую панель главной страницы добавлен переключатель "Доступ ко всем файлам"
  • Новое В боковую панель главной страницы добавлен переключатель "Показывать интерфейс из фона" (для устройств [Xiaomi/Vivo])
  • Новое На странице настроек добавлена опция "Обертка примитивных типов Java" issue #435
  • Новое На странице настроек добавлена опция "Движок планировщика задач" с поддержкой AlarmManager/WorkManager/JobScheduler issue #457 issue #434 issue #449 issue #388 issue #378 issue #163 issue #53 issue #21
  • Новое На странице настроек добавлена опция "Значок лаунчера приложения" с поддержкой адаптивных значков/значков с прозрачным фоном issue #405
  • Новое На странице настроек добавлена опция "Стратегия перезапуска", для настройки использования стратегии быстрого перезапуска кнопкой перезапуска на боковой панели главной страницы
  • Новое На странице настроек добавлена опция "Задержка запроса разрешения на захват экрана", для предотвращения перекрытия экрана окном запроса разрешения
  • Новое В ярлыки лаунчера на странице настроек добавлена опция "Плагины", для перехода на страницу Центра плагинов через ярлык
  • Новое Упакованные приложения поддерживают автозапуск при загрузке системы, а на странице конфигурации добавлен соответствующий переключатель
  • Новое Упакованные приложения поддерживают ярлыки приложения (страница журналов/страница настроек)
  • Новое На странице конфигурации упаковки приложения добавлены кнопки отмены/повтора/сохранения
  • Новое На странице конфигурации упаковки приложения добавлен механизм профилей с поддержкой создания/изменения/удаления/импорта/экспорта профилей issue #483
  • Новое Инструмент Scrapers (run-scrapers.mjs), для автоматического обновления структурированных данных в скриптах сборки Gradle/общих данных README/данных шаблона README и др.
  • Новое Инструмент Gradle Wrapper switcher (gradle-wrapper-switcher), для переключения локальной основной версии Gradle (например, Gradle 8.x и Gradle 9.x)
  • Исправление Ошибка ограничений по количеству и типам параметров метода notice issue #462
  • Исправление Проблема, из-за которой свойство ui.R (getter) не могло использоваться корректно
  • Исправление Проблема, из-за которой исключения в callback-параметрах метода ui.post могли тихо игнорироваться
  • Исправление Проблема, из-за которой глобальные методы вроде isJavaClass/isJavaPackage были неработоспособны
  • Исправление Проблема, из-за которой параметр timeout метода timers.keepAlive не работал
  • Исправление Проблема, из-за которой методы floaty.window/rawWindow не принимали строковые параметры issue #467
  • Исправление Проблема, из-за которой floaty.rawWindow отображал некоторые элементы некорректно из-за передачи неправильного контекста
  • Исправление Проблема, из-за которой метод util.isString был неработоспособен
  • Исправление Проблема, из-за которой util.class[Name]/getClass[Name] могли возвращать неверные результаты
  • Исправление Проблема, из-за которой util.java.array не мог корректно использовать параметры типов вроде Boolean
  • Исправление Проблема, из-за которой объект, возвращаемый threads.disposable(), мог неожиданно упаковываться при доступе к данным issue #435
  • Исправление Проблема, из-за которой при многократном вызове метода console.build параметры стиля плавающего окна журналов не сбрасывались корректно
  • Исправление Проблема, из-за которой параметры (title/content)BackgroundColor метода console.build могли перезаписывать прозрачность или параметры тонирования issue #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
  • Исправление Проблема, из-за которой значение 1 ошибочно интерпретировалось как процент при использовании параметров области в некоторых методах images
  • Исправление Проблема, из-за которой флаг oneShot переставал работать при возникновении исключений в некоторых методах images issue #372
  • Исправление Проблема, из-за которой некоторые методы images могли вызывать утечки памяти issue #372
  • Исправление Проблема, из-за которой images.save и метод ImageWrapper#saveTo не могли корректно записывать файл, если переданный путь не существовал
  • Исправление Проблема, из-за которой метод ImageWrapper#recycle не выполнял корректное освобождение ресурсов изображения
  • Исправление Проблема, из-за которой некоторые перегруженные методы ocr могли работать некорректно
  • Исправление Проблема, из-за которой результаты метода ocr.detect могли не соответствовать ocr.mode issue #468
  • Исправление Проблема, из-за которой события службы специальных возможностей, зарегистрированные через auto.registerEvent, могли ошибочно очищаться другими скриптами issue #466 issue #343
  • Исправление Проблема, из-за которой метод UiObject#child мог вызывать ArrayIndexOutOfBoundsException на Android 10 issue #416
  • Исправление Проблема, из-за которой при вызове методов встроенных модулей мог возникать несогласованный контекст Rhino
  • Исправление Проблема, из-за которой после создания большого количества плавающих окон в скрипте после его завершения могли оставаться остаточные окна
  • Исправление Проблема, из-за которой параметры конфигурации project.json могли некорректно разбираться при запуске проекта
  • Исправление Проблема, из-за которой параметр excludedDirs в project.json мог вызывать сбой разбора конфигурации при упаковке проекта issue #428
  • Исправление Проблема, из-за которой функция упаковки могла некорректно работать на Android 7.x
  • Исправление Проблема, из-за которой исходные имена ключей могли изменяться при сохранении файла конфигурации проекта скрипта
  • Исправление Проблема, из-за которой большие значения номера сборки или времени сборки в файле конфигурации проекта скрипта могли вызывать сбой приложения
  • Исправление Проблема, из-за которой частое получение или пересоздание ImageReader могло приводить к сбою приложения из-за временного отсутствия доступных кадров в буфере
  • Исправление Проблема, из-за которой наблюдатель событий ввода InputEventObserver мог вызывать заметные подвисания при запуске приложения
  • Исправление Проблема, из-за которой пользовательский сервисный процесс Shizuku не завершался корректно, что приводило к накоплению процессов issue #474
  • Исправление Проблема, из-за которой упакованные приложения не могли корректно использовать функции Paddle OCR и Rapid OCR
  • Исправление Проблема, из-за которой значение ключа key в файле конфигурации project.json упакованного приложения могло неожиданно изменяться
  • Исправление Проблема, из-за которой при прокрутке списка "Требуемые разрешения" на странице конфигурации упаковки приложения могли мерцать значки флажков
  • Исправление Проблема, из-за которой на странице История версий статистические данные на некоторых системах отображались неполно из-за различий в шрифтах
  • Исправление Проблема, из-за которой MLKit Google OCR не мог корректно инициализироваться на некоторых устройствах (пробное исправление) issue #8
  • Исправление Проблема, из-за которой на некоторых устройствах кнопки функций файлового менеджера не срабатывали корректно при нажатии (пробное исправление) issue #465
  • Исправление Проблема, из-за которой пустые строки в редакторе кода отображались квадратными символами на некоторых устройствах (пробное исправление)
  • Исправление Проблема, из-за которой экранная клавиатура могла перекрывать текст в редакторе кода
  • Исправление Проблема, из-за которой редактор кода позволял редактировать содержимое даже в режиме только чтения
  • Исправление Проблема, из-за которой нажатие на область заголовка и некоторые пункты меню в режиме только чтения вызывало сбой приложения в редакторе кода
  • Исправление Проблема, из-за которой загрузка больших файлов в редакторе кода могла вызывать сбой приложения (пробное исправление)
  • Исправление Аномальная инициализация состояния функциональных кнопок при автоматическом открытии нового файла редактором кода
  • Исправление Проблема, из-за которой перевод приложения в фон во время редактирования файла в редакторе кода мог вызывать сбой
  • Исправление Проблема, из-за которой на Android 15+ нажатие кнопки fx в редакторе кода не показывало быстрый модульный панель функций (пробное исправление)
  • Исправление Проблема, из-за которой ErrorDialogActivity мог не запускаться корректно или автоматически исчезать через короткое время issue #479 issue #471 issue #414 issue #340
  • Исправление Неверные типы параметров, принимаемые конструктором Canvas issue #402
  • Исправление Проблема, из-за которой функция копирования подробной информации не работала на странице отчета о сбое
  • Исправление Проблема, из-за которой пользовательская логика кнопки Назад переставала работать на Android 16+, вызывая некорректное поведение возврата
  • Исправление Проблема, из-за которой приложение могло падать при нажатии кнопки Назад или переключении вкладок после отображения результатов поиска файлового менеджера
  • Исправление Проблема, из-за которой интерфейс не обновлялся автоматически после удаления папок проекта в файловом менеджере
  • Исправление Проблема, из-за которой приложение могло падать при частом изменении элементов списка панели задач
  • Исправление Проблема, из-за которой цвет переднего плана панели навигации мог работать аномально с ночным режимом при использовании жестовой навигации "три кнопки"
  • Исправление Проблема, из-за которой диалог информации о типе APK-файла мог не получать имя приложения и сведения об SDK
  • Исправление Проблема, из-за которой в режиме клиента при быстром отключении и повторном подключении после соединения возникал таймаут рукопожатия, и повторно установить соединение было трудно
  • Исправление Проблема, из-за которой в режиме клиента действия вроде поворота экрана или смены языка, приводящие к пересозданию Activity, заставляли AutoJs6 каждый раз пересоздавать соединение
  • Исправление Проблема, из-за которой в режиме сервера действия вроде поворота экрана или смены языка, приводящие к пересозданию Activity, мешали консоли VSCode выводить журналы issue #385
  • Исправление Проблема, из-за которой при подключении к плагину VSCode несколькими способами одновременно количество выводимых журналов могло многократно увеличиваться
  • Исправление Проблема, из-за которой генерация кода на странице анализа макета могла завершаться неудачей для коллекционных элементов (пробное исправление) issue #328
  • Исправление Проблема, из-за которой переключатель "Использовать кнопку 'Уменьшение громкости' для управления записью" на странице настроек не работал issue #480
  • Исправление Проблема, из-за которой координаты в сгенерированном файле кода записи скрипта могли не совпадать с фактическими пикселями экрана issue #480
  • Исправление Проблема, из-за которой первое действие в сгенерированном коде записи скрипта (например, нажатие или свайп) всегда игнорировалось
  • Исправление Проблема, из-за которой выполнение фоновых операций с файлами из плавающего диалога "Запустить скрипт" могло вызывать сбой приложения
  • Исправление Проблема, из-за которой состояние плавающей кнопки могло сбрасываться при повторном входе на главную страницу после завершения жизненного цикла главной Activity
  • Исправление Проблема, из-за которой переключатель "Показывать поверх других приложений" на устройствах Xiaomi мог открывать неправильную страницу настроек
  • Исправление Проблема, из-за которой после прерывания загрузки обновления сетевые пакеты продолжали загружаться в фоне (пробное исправление)
  • Исправление Проблема, из-за которой задача Rebuild Project не могла корректно завершиться при включенной опции isCleanup[Paddle/Rapid]Ocr в инструментах сборки
  • Улучшение Плагинизация функций, связанных с Paddle OCR (PP-OCRv3) issue #334 issue #331 issue #325
  • Улучшение Повышена совместимость метода runtime.loadJar (by LYS86) pr #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
  • Улучшение Оптимизирован момент сворачивания меню при нажатии на пункты после раскрытия плавающей кнопки в файловом менеджере
  • Улучшение Файловый менеджер/панель задач поддерживают отображение статистики количества файлов/задач
  • Улучшение При сбое сохранения в редакторе кода файл автоматически сохраняется как черновик и поддерживает сохранение как нового файла
  • Улучшение В определенной степени повышена плавность загрузки больших файлов в редакторе кода
  • Улучшение Функция "Найти/Заменить" в редакторе кода поддерживает сохранение состояния и отображение количества совпадений в реальном времени
  • Улучшение При предложении сохранить редактор кода теперь убеждается в успешном сохранении перед выходом, чтобы снизить вероятность сбоев сохранения
  • Улучшение Состояние кнопки сохранения в редакторе кода теперь лучше соответствует пользовательской логике
  • Улучшение Редактор кода поддерживает длительное нажатие для клавиш вроде "-", "=", "(", "[", "{", "<"
  • Улучшение В диалог процесса упаковки приложения добавлена кнопка "Прервать"
  • Улучшение Улучшен способ отображения диалога процесса упаковки приложения и добавлена статистика затраченного времени
  • Улучшение При установке упакованного приложения с новой конфигурацией связанные настройки старого приложения будут перезаписаны
  • Улучшение На странице конфигурации упаковки приложения по умолчанию отмечаются необходимые разрешения (WAKE_LOCK/INTERNET/WRITE_EXTERNAL_STORAGE/...) issue #397
  • Улучшение Страница конфигурации упаковки приложения поддерживает чтение и настройку большего числа опций (показывать журналы при запуске/показывать экран запуска при запуске/текст слогана экрана запуска/...)
  • Улучшение На странице настроек упакованного приложения добавлен переключатель foreground service issue #406
  • Улучшение При сохранении файла конфигурации проекта скрипта добавлен механизм обнаружения конфликтов имен ключей для предотвращения неоднозначности
  • Улучшение Страница отчета о сбое поддерживает масштабирование двумя пальцами для изменения размера шрифта и добавляет кнопки часто используемых функций
  • Улучшение Значки лаунчера приложения теперь поддерживают возможности адаптивных иконок issue #405
  • Улучшение Если движок Rhino не может разобрать сигнатуры дженериков, он теперь откатывается к исходным типам reflection, улучшая доступность reflection-методов на старых версиях Android
  • Улучшение Элементы-переключатели на боковой панели главной страницы получили разделители, поддержку нажатия по области заголовка для показа диалога деталей и, при необходимости, быстрый переход в системные настройки
  • Улучшение При запуске или перезапуске AutoJs6 теперь можно нажать на область заголовка "Режим клиента" на боковой панели главной страницы, чтобы прервать попытку подключения
  • Улучшение Режим клиента поддерживает подключение по адресам IPv6 и доменным именам
  • Улучшение Режим клиента поддерживает подсказки для специальных IPv4-адресов (loopback/broadcast/multicast/reserved/...)
  • Улучшение Режим клиента поддерживает отображение и управление состоянием подключения (исправить адрес/прервать подключение)
  • Улучшение Режим сервера поддерживает отображение количества подключенных клиентов
  • Улучшение Чтение разрешения на уведомления поддерживает механизм автоматического переподключения (requestRebind) для повышения стабильности функций прослушивания уведомлений
  • Улучшение Плавающая кнопка повышает безопасность запуска Activity из фона, чтобы избежать сбоев приложения
  • Улучшение Диалог "Еще" плавающей кнопки использует асинхронную загрузку данных для более плавного отображения
  • Улучшение В диалог "Запустить скрипт" плавающей кнопки добавлен пункт меню "Главная"
  • Улучшение Диалог "Запустить скрипт" плавающей кнопки поддерживает сворачивание и восстановление состояния и по возможности сохраняет окно постоянно активным или автоматически восстанавливает его
  • Улучшение Поддерживается использование разрешения Shizuku для записи и воспроизведения скриптов (плавность воспроизведения может быть частично снижена) issue #320
  • Улучшение На странице настройки цвета темы используется быстрый способ позиционирования для повышения эффективности поиска нужного цвета темы
  • Улучшение Вместо устаревшего LocalBroadcastManager используются LiveData и SharedFlow
  • Улучшение Скрипты сборки Gradle улучшают эффективность распаковки файлов формата 7z
  • Улучшение Скрипты сборки Gradle поддерживают получение подробной версии Android Studio IDE (например, "2025.1.4.7")
  • Улучшение Скрипты сборки Gradle поддерживают автоматическую генерацию данных, необходимых классу VersionCodesList, чтобы сократить задержку запуска скриптов
  • Улучшение Использование Version Catalogs для централизованного управления версиями зависимостей и плагинов Gradle
  • Улучшение Модульные скрипты сборки Gradle, с переносом общей логики сборки в build-logic и абстрагированием ее в convention plugins
  • Улучшение Использование convention plugins Gradle для упрощения логики загрузки локальных AAR-библиотек
  • Улучшение Удалена опция Gradle "android.enableJetifier=true" для адаптации к Gradle 9
  • Улучшение Использование Toolchain вместо sourceCompatibility/targetCompatibility для уменьшения различий среды сборки
  • Улучшение Изменения версий некоторых зависимостей или локальных библиотек CHANGELOG.md

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
  • Исправление Редактор кода мог записывать файл с недостаточно надёжной кодировкой, приводя к ошибкам декодирования (попытка исправления)
  • Улучшение Унификация адаптации макета на страницах Приложения и Разработчика, удаление ненужных категорий макетов
  • Улучшение В README.md в разделе сборки добавлены несколько способов упрощённого поиска страницы настроек цели issue #404
  • Улучшение Изменения версий некоторых зависимостей или локальных библиотек CHANGELOG.md

v6.6.3

2025/05/27
  • Новое Функция истории релизов: просмотр многоязычных списков изменений и статистики
  • Новое Метод timers.keepAlive (теперь глобальный) для поддержания активности скрипта
  • Новое Слушатели событий, такие как engines.on('start/stop/error', callback), для глобальных событий движка
  • Новое Метод images.detectMultiColors для проверки нескольких точек цвета issue #374
  • Новое Методы images.matchFeatures/detectAndComputeFeatures: поиск изображений в полном разрешении (см. Auto.js Pro) issue #366
  • Новое Метод images.compressToBytes для сжатия изображения и получения массива байтов
  • Новое Метод images.downsample для понижения разрешения и создания нового ImageWrapper
  • Новое Метод ui.keepScreenOn для удержания экрана включённым, пока UI-страница в фокусе
  • Новое Свойство ui.root (getter) для получения узла «корневой контейнер содержимого окна» в макете UI
  • Новое Элемент webview поддерживает макеты веб-страниц на базе JsBridge (см. Auto.js Pro) [пример: Layout > Interactive HTML / Vue2 + Vant (SFC)] issue #281
  • Новое Анализ макета поддерживает скрытие элементов (автор TonyJiangWJ) pr #371 issue #355
  • Исправление Онлайн-документация на вкладке Docs и в активности Docs могла перекрываться системной навигационной панелью
  • Исправление На некоторых страницах нажатие кнопок Toolbar могло ошибочно вызывать событие клика по заголовку
  • Исправление На некоторых устройствах пустые строки в редакторе кода отображались квадратами; пробное исправление
  • Исправление Диалог выбора цвета в настройках темы мог бесконечно накладываться друг на друга
  • Исправление Кнопка увеличения громкости не останавливала все скрипты при выключенной службе доступности
  • Исправление IME перекрывал ввод при редактировании пользовательского широковещательного сообщения в расписании задач
  • Исправление Элементы управления внутри webview не могли корректно вызвать программную клавиатуру
  • Исправление Диалог информации APK мог не получать название приложения и сведения о SDK
  • Исправление Пример файлового менеджера мог не загружать содержимое подпапок при входе в каталог проекта
  • Исправление В режиме UI на Android 15 верхний контент перекрывался строкой состояния
  • Исправление Фон строки состояния на некоторых страницах Android 15 не менялся вместе с цветом темы
  • Исправление Модуль dialogs не поддерживал свойство customView issue #364
  • Исправление Параметр выражения dialogs.input мог не возвращать результат выполнения
  • Исправление Использование JavaAdapter приводило к переполнению стека ClassLoader issue #376
  • Исправление console.setContentTextColor сбрасывал цвет текста по умолчанию issue #346
  • Исправление console.setContentBackgroundColor не принимал названия цветов issue #384
  • Исправление Реализация images.compress скорректирована: теперь меняет качество кодирования, а не выполняет даунсемплинг
  • Исправление Метод images.resize работал некорректно
  • Исправление engines.all мог вызывать ConcurrentModificationException issue #394
  • Исправление Неверные форматы даты на некоторых языках в README.md
  • Исправление Сборка Gradle могла падать из-за неверного размера архивного файла библиотеки issue #389
  • Улучшение В меню анализа макета добавлены градиентные разделители для группировки функций
  • Улучшение Файл project.json поддерживает опцию permissions для проектов скриптов (автор wirsnow) pr #391 issue #362
  • Улучшение При упаковке одного файла автоматически читаются и отмечаются заявленные разрешения установленного приложения issue #362
  • Улучшение Расширена область применения цвета темы, добавлена поддержка большего числа виджетов
  • Улучшение Ширина выдвижного меню на главной странице адаптируется к альбомному и ультраширокому экрану
  • Улучшение Добавлены горизонтальный и компактный макеты для страниц «О приложении» и «О разработчике»
  • Улучшение В диалогах настроек появилось меню «Использовать значение по умолчанию»
  • Улучшение Плавающая кнопка файлового менеджера скрывается при нажатии вне её области
  • Улучшение Форматтер кода поддерживает операторы ??, ?., ??=
  • Улучшение Редактор кода поддерживает чтение и запись файлов в кодировках GB18030 / UTF-16 (LE/BE) / Shift_JIS и других
  • Улучшение Редактор кода теперь отображает подробную информацию о файле (путь/кодировка/разделитель строк/общее количество байтов и символов и др.) issue #395
  • Улучшение Добавлены сообщения об ошибках для действий Intent (редактировать / просмотреть / установить / отправить / воспроизвести и др.)
  • Улучшение Атрибут url элемента webview поддерживает относительные пути
  • Улучшение Параметр path в ImageWrapper#saveTo поддерживает относительные пути
  • Улучшение images.save поддерживает сжатие PNG при использовании параметра quality issue #367
  • Улучшение Добавлена возможность очистки списка игнорируемых обновлений и адресов клиентского режима
  • Улучшение Информация об обновлении версии выводится на текущем языке интерфейса
  • Улучшение Асинхронная загрузка повышает плавность прокрутки списка в файловом менеджере
  • Улучшение Улучшено содержание и формат сообщений об исключениях скриптов в консоли
  • Улучшение Примеры кода теперь можно сбросить до исходного содержимого папки
  • Улучшение Увеличена скорость проверки подписи APK
  • Улучшение Оптимизированы диалоги информации файлов APK/медиа по скорости и логике отображения
  • Улучшение Скрипт сборки Gradle лучше адаптируется к новым версиям discussion #369
  • Улучшение Изменения версий некоторых зависимостей или локальных библиотек CHANGELOG.md
Для просмотра полной истории релизов обратитесь к

Компиляция и сборка проекта


Для отладки или разработки проекта AutoJs6 с открытым исходным кодом можно использовать Android Studio (продукт компании Google) или IntelliJ IDEA (продукт компании Jetbrains).

В данном разделе приведён пример методов компиляции и сборки для проекта AutoJs6 с использованием Android Studio. IntelliJ IDEA аналогичен.

Подготовка Android Studio

Скачайте версию Android Studio Panda 2 | 2025.3.2 (выберите одну из них по необходимости):

Примечание: Указанная версия была выпущена 3 March 2026 года. Для загрузки других версий или если указанная ссылка недействительна, посетите страницу архива версий Android Studio.

Установите или распакуйте указанные файлы, запустите программное обеспечение Android Studio (например, "D:\android-studio\bin\studio64.exe").

Подготовка Android SDK

Примечание: Если на компьютере уже установлен Android SDK, раздел может быть пропущен.

Открыть страницу настроек Android SDK (Набор средств разработки для Android) (любыми из следующих способов):

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) (любыми из следующих способов):

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.

Открыть страницу настроек Gradle JDK (любыми из следующих способов):

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 (система управления версиями).

Сборка проекта 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 проекта AutoJs6.

Примечание: Для получения дополнительной информации о том, как собрать и запустить приложение, смотрите Android Docs

Развертывание проекта 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

Предопределенные задачи сборки 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.

После выполнения задачи генерируется последний JAR-файл проекта AutoJs6. С помощью инструмента Android d.ts Generator (от NativeScript) вы можете создать файлы определений типов (в формате d.ts) для основного приложения AutoJs6.

  • AutoJs6 [app:digest]

Добавьте сводную информацию в APK, созданный релизной сборкой, что в первую очередь помогает определить финальное название файла перед публикацией последней версии AutoJs6 на GitHub.

Ниже приведено сравнение имен файлов до и после добавления сводной информации:

До:
autojs6-v6.6.2-arm64-v8a.apk
После:
autojs6-v6.6.2-arm64-v8a-0f2a9d74.apk

смотрите: Android Docs


Помощь в разработке скриптов


Для разработки скриптов, работающих в AutoJs6, используйте соответствующую среду разработки:

Для написания и отладки скриптов на ПК, плагин VSCode может обеспечить связь между ПК и телефоном:

При написании кода в среде разработки функция автодополнения кода может значительно облегчить процесс разработки:

При написании кода вы можете в любой момент обращаться к документации по API и способам использования AutoJs6:

Существующие проекты по разработке скриптов могут служить источником вдохновения для вашего собственного проекта:


Вклад участников


Благодарим всех участников проекта AutoJs6 за их вклад.

Участники Количество коммитов Последние коммиты
Willie169 1 2026/03/03
LYS86 (Lin) 4 2025/12/26
wirsnow 1 2025/05/19
TonyJiangWJ 4 2025/04/24
luckyloogn 3 2024/12/31
kvii 1 2024/10/16
chenguangming (Tom) 2 2024/05/14
LZX284 (AI) 7 2023/11/15
kojoecode (抠脚本人) 12 2023/07/12
aiselp 6 2023/06/14
Данные обновлены на 4 March 2026 года.

Данные отсортированы по последним отправкам в порядке убывания.

Новые необработанные Pull Request будут учтены в статистике после объединения.

Некоторые участники не отображаются на GitHub Contributors, их записи пусты, но их вклад можно посмотреть через Pull Request.