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

74 KiB
Raw Blame History

autojs6-banner_800×224

Herramienta de automatización JavaScript que soporta servicios de accesibilidad en la plataforma Android

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


Idiomas


El archivo actual README.md admite los siguientes idiomas:


Introducción


Auto.js es una herramienta de automatización para la plataforma Android que admite servicios de accesibilidad.

Auto.js fue lanzado por hyb1996 el 27/01/2017 y dejó de ser mantenido el 13/03/2020, con su versión final denominada 4.1.1 Alpha2 y número de construcción 461.

AutoJs6 se desarrolló sobre el proyecto final de Auto.js el 01/12/2021 y continúa siendo gratuito y de código abierto.

La siguiente tabla enumera algunos proyectos relacionados con Auto.js (ordenados por fecha de desarrollo):

Proyecto Nombre de la app Desarrolladores Principales Fecha de inicio del desarrollo Fecha de finalización del desarrollo Mantenimiento activo (año)
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 >

Las fechas en la tabla son estimadas y pueden no coincidir con las reales.

En la tabla, Auto.js Pro 7/8/9 son versiones pagas, mientras que las demás son versiones gratuitas y de código abierto.

En la tabla, los datos de la columna Fecha de finalización del desarrollo que contienen corchetes ([]) indican que el proyecto de código abierto no está temporalmente accesible.

En la tabla, los datos de la columna Mantenimiento activo que contienen paréntesis angulares (<>) se han calculado hasta 14 de March de 2026.


Funciones


  • Puede utilizarse como IDE de JavaScript (autocompletado/renombrado de variables/formateo de código)
  • Soporte para operaciones automatizadas basadas en el servicio de accesibilidad
  • Soporte para acciones rápidas con botón flotante (grabación y ejecución de scripts/visualización del nombre del paquete y actividad/análisis de diseño)
  • Soporte para la API de selectores proporcionando recorridos y acciones de control sobre los elementos (similar a UiAutomator)
  • Soporte para análisis de interfaz de diseño (similar al LayoutInspector de Android Studio)
  • Soporte para grabación y reproducción de grabaciones
  • Soporte para captura de pantalla/guardar capturas/búsqueda de color en imágenes/matching de imágenes
  • Soporte para escribir interfaces usando E4X (ECMAScript para XML)
  • Soporte para empaquetar archivos o proyectos de scripts en archivos APK
  • Soporte para funcionalidades extendidas utilizando permisos Root (clic y deslizamiento de pantalla/grabar/Shell)
  • Soporte para su uso como un complemento de Tasker
  • Soporte para la integración con VSCode para desarrollo de escritorio (requiere el AutoJs6-VSCode-Extension)

Entorno


  • Sistema operativo Android
  • API 24 (7.0) [N] o superior

Manual



Principales cambios


En comparación con la versión final de Auto.js 4.1.1 Alpha2, AutoJs6 ha realizado las siguientes actualizaciones o cambios principales:

  • Soporte para obtener privilegios ADB usando Shizuku y usar las API del sistema
  • Soporte para construir instancias de WebSocket para realizar solicitudes de red basadas en el protocolo WebSocket
  • Nuevos módulos [ base64 / crypto / sqlite / i18n / notice / ocr / opencc / qrcode / shizuku / ... ]
  • Soporte multilingüe [Español / Francés / Ruso / Árabe / Japonés / Coreano / Inglés / Chino Simplificado / Chino Tradicional / ...]
  • Adaptation des couleurs du thème [ Groupement / Localisation / Recherche / Historique / Adaptation automatique de la luminosité et du contraste / ... ]
  • Soporte para modo nocturno en varias páginas [ página de configuración / página de documentación / página de análisis de diseño / ventana flotante / ... ]
  • El complemento de VSCode soporta conexiones cliente (LAN) y servidor (LAN/ADB)
  • El motor Rhino se ha actualizado de v1.7.7.2 a v2.0.0-SNAPSHOT (actualizado el 25 de December de 2025)

Historial de Versiones


v6.7.0

2026/03/14
  • Nuevo Funcion Centro de plugins, compatible con operaciones como instalar/desinstalar/actualizar plugins (entrada: boton del cajon de inicio/pestana de inicio)
  • Nuevo Funcion Historial de versiones, compatible con ver/restaurar versiones historicas de archivos editables (entrada: boton del cajon de inicio/menu del administrador de archivos/menu del editor de codigo)
  • Nuevo Funcion Papelera, compatible con ver/restaurar archivos/carpetas eliminados (entrada: boton del cajon de inicio)
  • Nuevo Plugin Paddle OCR (PP-OCRv5), para reconocimiento optico de caracteres
  • Nuevo Modulo cvt, para conversion de unidades de datos (consulte Documentacion del proyecto > Conversion de unidades)
  • Nuevo Modulo fmt, para formateo de datos (consulte Documentacion del proyecto > Formateo)
  • Nuevo Modulo zip, para operaciones de compresion y descompresion de archivos (Ref to Auto.js Pro) (consulte Documentacion del proyecto > Zip)
  • Nuevo Modulo mediainfo, para ver informacion detallada de archivos multimedia (consulte Documentacion del proyecto > Informacion multimedia)
  • Nuevo Metodo cvt.bytes, para conversion de unidades de datos de bytes (consulte Documentacion del proyecto > Conversion de unidades)
  • Nuevo Metodo fmt.bytes, para formateo de datos de bytes (consulte Documentacion del proyecto > Formateo)
  • Nuevo Metodo s13n.bytes, para estandarizar datos de bytes (consulte Documentacion del proyecto > Estandarizacion)
  • Nuevo Metodo app.isDualInstalled, para detectar si una aplicacion dual esta instalada (requiere permisos de Shizuku o Root) issue #450
  • Nuevo Metodo device.getSharedDeviceId, para obtener un ID de dispositivo compartido y unificado entre aplicaciones issue #455
  • Nuevo Metodo device.setPointerLocation y otros metodos de la serie Toggleable, para establecer u obtener la opcion del sistema de ubicacion del puntero issue #381
  • Nuevo El metodo dialogs.build admite parametros de opcion textAllCaps/(positive/negative/neutral)TextAllCaps, para controlar si el texto de los botones se muestra completamente en mayusculas
  • Nuevo Metodo images.loadAsync, para obtener recursos de imagen de red de forma asincrona issue #327
  • Nuevo Metodo ui.getNavigationBarHeight/propiedad navigationBarHeight (getter), para obtener la altura de la barra de navegacion issue #456
  • Nuevo Metodo ui.getVisible(Status/Navigation)BarHeight/propiedad visible(Status/Navigation)BarHeight (getter), para obtener rapidamente la altura visible de la barra de estado o de navegacion issue #456
  • Nuevo Metodos http.put/del(ete)/head, para enviar solicitudes de red usando distintos metodos HTTP
  • Nuevo Metodos como http.getAsync/postAsync/requestAsync, para enviar solicitudes de red de forma asincrona issue #423
  • Nuevo El objeto body obtenido por los metodos relacionados con solicitudes del modulo http agrega metodos como stream/saveToFile/close issue #452
  • Nuevo Los metodos relacionados con solicitudes del modulo http admiten parametros de opcion de control de cache (cacheBody/bodyCacheThresholdBytes)
  • Nuevo Los metodos relacionados con solicitudes del modulo http admiten parametros de opcion inseguros (isInsecure/insecure), para ignorar excepciones relacionadas con certificados issue #417
  • Nuevo Los metodos relacionados con solicitudes del modulo http admiten la opcion options.client, para configurar OkHttpClient.Builder (como followRedirects, etc.) issue #454
  • Nuevo Propiedad auto.state (getter) y propiedad shizuku.state (getter), para obtener el estado del servicio de accesibilidad y del servicio Shizuku
  • Nuevo Metodos runtime.(set/is)JavaPrimitiveWrap, para establecer u obtener la estrategia de envoltura de tipos primitivos de Java issue #435
  • Nuevo Metodos autojs.(restart/exit), para reiniciar o salir de la aplicacion AutoJs6, y compatibles con ejecutar automaticamente un script especificado al reiniciar la aplicacion issue #460
  • Nuevo Metodo UiObject#isShifted, para detectar cambios de posicion de controles issue #469
  • Nuevo Metodo UiObject#snapshot, para capturar el estado actual de un control issue #469
  • Nuevo Metodo engines.myEngine().getStartTime(), para obtener la marca de tiempo de inicio del motor de scripts issue #449
  • Nuevo Metodo global crash, para probar la pagina de informe de fallos
  • Nuevo Metodo global structuredClone, para copia profunda de objetos JavaScript (consulte MDN)
  • Nuevo Los selectores de la serie equivalente (UiSelector#id/text/...) y de la serie contiene (UiSelector#xxxContains) admiten parametros de expresion regular
  • Nuevo Los parametros de expresion regular de los selectores admiten banderas (i, m, s, u)
  • Nuevo Las expresiones regulares admiten sintaxis de lookbehind issue #464
  • Nuevo El administrador de archivos agrega elementos de menu "Mover a" y "Copiar a", con soporte para abortar operaciones y mostrar estado de progreso
  • Nuevo El editor de codigo agrega el elemento de menu "Teclado multifuncion" - "Configuracion de simbolos", con soporte para editar simbolos y crear/importar/exportar simbolos por nivel de perfil
  • Nuevo El cajon de inicio agrega la herramienta "Ubicacion del puntero"
  • Nuevo El cajon de inicio agrega el interruptor "Acceso a todos los archivos"
  • Nuevo El cajon de inicio agrega el interruptor "Mostrar interfaz desde segundo plano" (para dispositivos [Xiaomi/Vivo])
  • Nuevo La pagina de configuracion agrega la opcion "Envoltura de tipos primitivos de Java" issue #435
  • Nuevo La pagina de configuracion agrega la opcion "Motor de programacion de tareas", con soporte para AlarmManager/WorkManager/JobScheduler issue #457 issue #434 issue #449 issue #388 issue #378 issue #163 issue #53 issue #21
  • Nuevo La pagina de configuracion agrega la opcion "Icono del lanzador de aplicaciones", con soporte para iconos adaptativos/iconos con fondo transparente issue #405
  • Nuevo La pagina de configuracion agrega la opcion "Estrategia de reinicio", para configurar si el boton de reinicio del cajon de inicio usa la estrategia de reinicio rapido
  • Nuevo La pagina de configuracion agrega la opcion "Retraso en la solicitud de permiso de captura de pantalla", para evitar que la ventana de solicitud de permiso bloquee la pantalla
  • Nuevo Los accesos directos del lanzador en la pagina de configuracion agregan la opcion "Plugins", para saltar a la pagina del Centro de plugins mediante un acceso directo
  • Nuevo Las aplicaciones empaquetadas admiten inicio automatico al arrancar y agregan un interruptor en la pagina de configuracion
  • Nuevo Las aplicaciones empaquetadas admiten accesos directos de aplicacion (pagina de registros/pagina de configuracion)
  • Nuevo La pagina de configuracion de empaquetado agrega botones de deshacer/rehacer/guardar
  • Nuevo La pagina de configuracion de empaquetado agrega un mecanismo de perfiles, con soporte para crear/modificar/eliminar/importar/exportar perfiles issue #483
  • Nuevo Herramienta Scrapers (run-scrapers.mjs), para actualizar automaticamente datos estructurados de scripts de compilacion Gradle/datos comunes del README/datos de plantilla README, etc.
  • Nuevo Herramienta Gradle Wrapper switcher (gradle-wrapper-switcher), para cambiar la version principal local de Gradle (como Gradle 8.x y Gradle 9.x)
  • Corrección Error en la restriccion de cantidad y tipos de parametros del metodo notice issue #462
  • Corrección Problema por el que la propiedad ui.R (getter) no podia usarse correctamente
  • Corrección Problema por el que las excepciones generadas en parametros de callback del metodo ui.post podian fallar en silencio
  • Corrección Problema por el que metodos globales como isJavaClass/isJavaPackage eran invalidos
  • Corrección Problema por el que el parametro timeout del metodo timers.keepAlive no funcionaba
  • Corrección Problema por el que los metodos floaty.window/rawWindow no podian aceptar parametros de tipo cadena issue #467
  • Corrección Problema por el que floaty.rawWindow mostraba algunos controles de forma anomala debido a que se pasaba un contexto incorrecto
  • Corrección Problema por el que el metodo util.isString no era valido
  • Corrección Problema por el que util.class[Name]/getClass[Name] podia devolver resultados incorrectos
  • Corrección Problema por el que util.java.array no podia usar correctamente parametros de tipo como Boolean
  • Corrección Problema por el que el objeto devuelto por threads.disposable() podia ser encapsulado inesperadamente al acceder a datos issue #435
  • Corrección Problema por el que, al llamar varias veces al metodo console.build, las opciones de estilo de la ventana flotante de registros no se restablecian correctamente
  • Corrección Problema por el que las opciones (title/content)BackgroundColor del metodo console.build sobrescribian opciones de transparencia o tintado issue #458
  • Corrección Problema por el que metodos como console/toast podian perder ceros finales al mostrar Java Double
  • Corrección Problema por el que no era posible usar metodos como console/toast para mostrar el tipo de datos BigInt
  • Corrección Problema por el que el metodo toast podia provocar fugas de memoria al mantener una referencia fuerte a la instancia Toast
  • Corrección Problema por el que algunos objetos globales podian perder propiedades y metodos del prototipo de JavaScript
  • Corrección Problema por el que el objeto this podia apuntar incorrectamente al usar expresiones JavaScript como valores de atributos en sintaxis XML
  • Corrección Problema por el que el parametro de opcion linkify del metodo dialogs.build no funcionaba
  • Corrección Problema por el que el metodo dialogs.build podia dañar los datos originales del parametro objeto
  • Corrección Calculo incorrecto de la tasa de fotogramas interna del metodo setMaxFps del control de elemento canvas
  • Corrección Calculo incorrecto del ancho al concatenar verticalmente con el metodo images.concat
  • Corrección Problema por el que cancelar la autorizacion del metodo images.requestScreenCapture podia provocar un fallo de la aplicacion
  • Corrección Problema por el que las capturas obtenidas por el metodo images.captureScreen podian tener orientacion incorrecta o relleno de bordes negros issue #337
  • Corrección Problema por el que el valor 1 se interpretaba erroneamente como porcentaje al usar parametros de region en algunos metodos de images
  • Corrección Problema por el que la funcion de la marca oneShot fallaba cuando ocurrian excepciones en algunos metodos relacionados con images issue #372
  • Corrección Problema por el que algunos metodos relacionados con images podian provocar fugas de memoria issue #372
  • Corrección Problema por el que images.save y el metodo ImageWrapper#saveTo no podian escribir correctamente archivos cuando la ruta proporcionada no existia
  • Corrección Problema por el que el metodo ImageWrapper#recycle no reciclaba correctamente recursos de imagen
  • Corrección Problema por el que algunos metodos sobrecargados de ocr podian no funcionar correctamente
  • Corrección Problema por el que los resultados obtenidos por el metodo ocr.detect podian no coincidir con ocr.mode issue #468
  • Corrección Problema por el que los eventos del servicio de accesibilidad registrados con auto.registerEvent podian ser eliminados por error por otros scripts issue #466 issue #343
  • Corrección Problema por el que el metodo UiObject#child podia lanzar ArrayIndexOutOfBoundsException en Android 10 issue #416
  • Corrección Problema por el que al llamar metodos de modulos integrados podia haber inconsistencia en el contexto Rhino
  • Corrección Problema por el que, tras crear muchas ventanas flotantes en un script, podian quedar ventanas residuales al salir del script
  • Corrección Problema por el que los parametros de configuracion de project.json no se analizaban correctamente al ejecutar un proyecto
  • Corrección Problema por el que el parametro excludedDirs de project.json podia hacer fallar el analisis del archivo de configuracion al empaquetar un proyecto issue #428
  • Corrección Problema por el que la funcion de empaquetado podia no funcionar correctamente en Android 7.x
  • Corrección Problema por el que los nombres originales de las claves podian modificarse al guardar el archivo de configuracion de un proyecto de script
  • Corrección Problema por el que numeros grandes en version de compilacion o tiempo de compilacion dentro del archivo de configuracion del proyecto de script podian provocar un fallo de la aplicacion
  • Corrección Problema por el que obtener o reconstruir ImageReader con frecuencia podia provocar un fallo de la aplicacion al no haber fotogramas disponibles temporalmente en el buffer
  • Corrección Problema por el que el observador de eventos de entrada InputEventObserver podia causar una ralentizacion evidente al iniciar la aplicacion
  • Corrección Problema por el que el proceso de servicio de usuario Shizuku no terminaba correctamente y se acumulaban procesos issue #474
  • Corrección Problema por el que las aplicaciones empaquetadas no podian usar correctamente las funciones Paddle OCR y Rapid OCR
  • Corrección Problema por el que el valor de la clave key en el archivo de configuracion project.json de aplicaciones empaquetadas podia modificarse inesperadamente
  • Corrección Problema por el que al desplazarse por la lista de "Permisos requeridos" en la pagina de configuracion de empaquetado podia parpadear el icono de las casillas
  • Corrección Problema por el que, en la pagina de historial de versiones, algunos sistemas mostraban datos estadisticos incompletos debido a diferencias de fuente
  • Corrección Problema por el que MLKit Google OCR no podia inicializarse correctamente en algunos dispositivos (correccion tentativa) issue #8
  • Corrección Problema por el que, en algunos dispositivos, los botones funcionales del administrador de archivos no activaban correctamente los eventos de clic (correccion tentativa) issue #465
  • Corrección Problema por el que las lineas en blanco del editor de codigo mostraban caracteres de cuadro en algunos dispositivos (correccion tentativa)
  • Corrección Problema por el que el teclado virtual podia tapar el contenido de texto en el editor de codigo
  • Corrección Problema por el que el editor de codigo seguia permitiendo editar contenido en modo de solo lectura
  • Corrección Problema por el que tocar el area del titulo o algunos elementos del menu en modo de solo lectura hacia fallar la aplicacion en el editor de codigo
  • Corrección Problema por el que cargar archivos grandes en el editor de codigo podia provocar un fallo de la aplicacion (correccion tentativa)
  • Corrección Inicializacion anomala del estado de los botones funcionales cuando el editor de codigo abria automaticamente un archivo nuevo
  • Corrección Problema por el que poner la aplicacion en segundo plano mientras se editaba un archivo en el editor de codigo podia provocar un fallo
  • Corrección Problema por el que, en Android 15+, al pulsar el boton fx en el editor de codigo no se mostraba el panel rapido de funciones de modulo (correccion tentativa)
  • Corrección Problema por el que ErrorDialogActivity podia no iniciarse correctamente o desaparecer automaticamente en poco tiempo issue #479 issue #471 issue #414 issue #340
  • Corrección Tipos de parametros aceptados incorrectos en el constructor Canvas issue #402
  • Corrección Problema por el que la funcion de copiar informacion detallada no funcionaba en la pagina de informe de fallos
  • Corrección Problema por el que la logica personalizada de retroceso dejaba de funcionar en Android 16+, causando un comportamiento anomalo del boton atras
  • Corrección Problema por el que la aplicacion podia fallar al pulsar el boton atras o cambiar de pestana despues de mostrar resultados de busqueda del administrador de archivos
  • Corrección Problema por el que la interfaz no se actualizaba automaticamente tras eliminar carpetas de proyecto en el administrador de archivos
  • Corrección Problema por el que la aplicacion podia fallar cuando los elementos de la lista del panel de tareas cambiaban con frecuencia
  • Corrección Problema por el que el color del primer plano de la barra de navegacion podia comportarse de forma anomala con el modo nocturno al usar navegacion gestual de "tres botones"
  • Corrección Problema por el que el cuadro de dialogo de informacion de tipo de archivo APK podia no obtener el nombre de la aplicacion ni la informacion del SDK
  • Corrección Problema por el que, en modo cliente, al desconectar y volver a conectar en poco tiempo tras una conexion, aparecia un tiempo de espera de handshake y resultaba dificil reconectar
  • Corrección Problema por el que, en modo cliente, operaciones como rotar la pantalla o cambiar el idioma, que recreaban la Activity, hacian que AutoJs6 reconstruyera siempre la conexion
  • Corrección Problema por el que, en modo servidor, operaciones como rotar la pantalla o cambiar el idioma, que recreaban la Activity, hacian que la consola de VSCode dejara de mostrar registros issue #385
  • Corrección Problema por el que, al conectarse al plugin de VSCode de varias formas al mismo tiempo, la cantidad de registros impresos podia multiplicarse
  • Corrección Problema por el que la generacion de codigo en la pagina de analisis de diseño podia fallar con controles de coleccion (correccion tentativa) issue #328
  • Corrección Problema por el que el interruptor "Usar la tecla 'Bajar volumen' para controlar la grabacion" no funcionaba en la pagina de configuracion issue #480
  • Corrección Problema por el que los valores de coordenadas en archivos de codigo generados por la grabacion de scripts podian no coincidir con los pixeles reales de la pantalla issue #480
  • Corrección Problema por el que la primera accion en los archivos de codigo generados por grabacion de scripts (como tocar o deslizar) siempre era ignorada
  • Corrección Problema por el que operar archivos en segundo plano desde el dialogo flotante "Ejecutar script" podia provocar un fallo de la aplicacion
  • Corrección Problema por el que el estado del boton flotante podia restablecerse al volver a entrar en la pagina principal tras finalizar el ciclo de vida de la Activity principal
  • Corrección Problema por el que el interruptor "Mostrar sobre otras aplicaciones" en dispositivos Xiaomi podia abrir una pagina de configuracion incorrecta
  • Corrección Problema por el que, despues de cancelar el proceso de descarga de actualizaciones, los paquetes de red seguian descargandose en segundo plano (correccion tentativa)
  • Corrección Problema por el que la tarea Rebuild Project no podia completarse correctamente cuando se habilitaba la opcion isCleanup[Paddle/Rapid]Ocr en las herramientas de compilacion
  • Mejora Funciones relacionadas con Paddle OCR (PP-OCRv3) modularizado issue #334 issue #331 issue #325
  • Mejora Mejora de compatibilidad del metodo runtime.loadJar (by LYS86) pr #475
  • Mejora Mejora de cierta compatibilidad del metodo ui.getStatusBarHeight/propiedad statusBarHeight (getter)
  • Mejora Metodos como console.log admiten mostrar informacion detallada al imprimir objetos globales (images, app, ocr, etc.)
  • Mejora El metodo dialogs.build admite parametros de opcion nativos de MaterialDialog.Builder
  • Mejora El metodo dialogs.build admite coincidencia flexible de cadenas para los parametros de opcion animation/linkify
  • Mejora Mejora de estabilidad y coherencia al obtener orientacion de pantalla y datos de ancho/alto mediante device.rotation/rotation/width/height
  • Mejora Mejora de eficiencia de ejecucion y compatibilidad de metodos como app.launchDual/startDualActivity
  • Mejora android.graphics.Paint#setColor admite analizar correctamente parametros de color como ColorInt/ColorHex/ColorName
  • Mejora Los mensajes de excepcion de tipos de argumentos en metodos relacionados con modulos integrados agregan informacion resumida de tipos
  • Mejora Los modulos integrados (dayjs/cheerio/dayjs/i18n) dejan de usar modo de ejecucion de script y adoptan carga diferida global
  • Mejora Al imprimir datos enormes con metodos relacionados con la consola, se omite adecuadamente parte del contenido segun limites superiores para reducir el tiempo de impresion
  • Mejora El valor inicial de la cuenta regresiva de la ventana flotante de consola aumenta de 6 a 9 segundos
  • Mejora La implementacion interna de la ventana flotante de consola adopta procesamiento sin bloqueos y en cola para mejorar la eficiencia y la tasa de exito al establecer parametros
  • Mejora Las API relacionadas con el color de fondo de la ventana flotante de consola (transparencia/tinte/color base) se ajustan mejor a las normas de diseño de Android issue #458
  • Mejora Se optimiza el momento de cierre del menu al tocar elementos tras expandir el boton flotante del administrador de archivos
  • Mejora El administrador de archivos/panel de tareas admite mostrar informacion estadistica de cantidad de archivos/tareas
  • Mejora Cuando falla el guardado en el editor de codigo, se guarda automaticamente como borrador y admite guardar como archivo nuevo
  • Mejora Mejora de cierta fluidez al cargar archivos grandes en el editor de codigo
  • Mejora La funcion "Buscar/Reemplazar" del editor de codigo admite persistencia de estado y visualizacion en tiempo real del recuento de resultados
  • Mejora Cuando el editor de codigo solicita guardar, se asegura de guardar correctamente antes de salir para reducir la tasa de fallos de guardado
  • Mejora El estado del boton Guardar del editor de codigo coincide mejor con la logica subjetiva del usuario
  • Mejora El editor de codigo admite pulsacion larga en teclas como "-", "=", "(", "[", "{", "<"
  • Mejora El cuadro de dialogo del proceso de empaquetado agrega un boton "Abortar"
  • Mejora Se mejora la forma de visualizacion del cuadro de dialogo del proceso de empaquetado y se agregan estadisticas de tiempo consumido
  • Mejora Al instalar aplicaciones empaquetadas con una nueva configuracion, se sobrescriben las configuraciones relacionadas de la aplicacion antigua
  • Mejora La pagina de configuracion de empaquetado marca por defecto los permisos necesarios (WAKE_LOCK/INTERNET/WRITE_EXTERNAL_STORAGE/...) issue #397
  • Mejora La pagina de configuracion de empaquetado admite lectura y configuracion de mas opciones (mostrar registros al iniciar/mostrar pantalla de inicio al iniciar/texto del lema de la pantalla de inicio/...)
  • Mejora La pagina de configuracion de aplicaciones empaquetadas agrega un interruptor de servicio en primer plano issue #406
  • Mejora Al guardar el archivo de configuracion del proyecto de script se agrega deteccion de conflictos de nombres de claves para evitar ambigüedad
  • Mejora La pagina de informe de fallos admite pellizcar con dos dedos para ajustar el tamaño de fuente y agrega botones de funciones comunes
  • Mejora Los iconos del lanzador de aplicaciones admiten caracteristicas de iconos adaptativos issue #405
  • Mejora Cuando el motor Rhino falla al analizar firmas genericas, retrocede a tipos reflejados sin procesar para mejorar la disponibilidad de metodos reflectivos en versiones bajas de Android
  • Mejora Los elementos de tipo interruptor en el cajon de inicio agregan separadores, admiten tocar el area del titulo para mostrar un cuadro de dialogo de detalles y, cuando corresponde, acceso rapido a ajustes del sistema
  • Mejora Al iniciar o reiniciar AutoJs6, se puede tocar el area del titulo de "Modo cliente" en el cajon de inicio para abortar un intento de conexion en curso
  • Mejora El modo cliente admite establecer conexion usando direcciones IPv6 y nombres de dominio
  • Mejora El modo cliente admite avisos de deteccion para direcciones IPv4 de uso especial (loopback/broadcast/multicast/reservada/...)
  • Mejora El modo cliente admite mostrar y gestionar el estado de la conexion (corregir direccion/abortar conexion)
  • Mejora El modo servidor admite mostrar la cantidad de clientes conectados
  • Mejora La lectura del permiso de notificaciones admite un mecanismo de reconexion automatica (requestRebind) para mejorar la estabilidad de funciones relacionadas con escucha de notificaciones
  • Mejora El boton flotante mejora la seguridad al iniciar Activity desde segundo plano para evitar fallos de la aplicacion
  • Mejora El cuadro de dialogo "Mas" del boton flotante usa carga asincrona de datos para mejorar la fluidez de visualizacion
  • Mejora El cuadro de dialogo "Ejecutar script" del boton flotante agrega el elemento de menu "Inicio"
  • Mejora El cuadro de dialogo "Ejecutar script" del boton flotante admite minimizacion y restauracion de estado, y hace el mayor esfuerzo por mantener la ventana residente o restaurarla automaticamente
  • Mejora Se admite usar permisos de Shizuku para grabar scripts y reproducir grabaciones (la fluidez de reproduccion puede verse algo afectada) issue #320
  • Mejora La pagina de configuracion de color de tema usa un metodo de posicionamiento rapido para localizar colores de tema y mejorar la eficiencia
  • Mejora Se reemplaza LocalBroadcastManager, ya obsoleto, por LiveData y SharedFlow
  • Mejora Los scripts de compilacion Gradle mejoran la eficiencia de extraccion de archivos en formato 7z
  • Mejora Los scripts de compilacion Gradle admiten obtener la version detallada del IDE Android Studio (por ejemplo, "2025.1.4.7")
  • Mejora Los scripts de compilacion Gradle admiten generar automaticamente los datos requeridos por la clase VersionCodesList para reducir la latencia de inicio de scripts
  • Mejora Uso de Version Catalogs para gestionar centralizadamente versiones de dependencias y plugins de Gradle
  • Mejora Scripts de compilacion Gradle modularizados, migrando la logica compartida a build-logic y abstraida como plugins de convencion
  • Mejora Uso de plugins de convencion de Gradle para simplificar la logica de carga de bibliotecas AAR locales
  • Mejora Se elimina la opcion de Gradle "android.enableJetifier=true" para adaptarse a Gradle 9
  • Mejora Uso de Toolchain en lugar de sourceCompatibility/targetCompatibility para reducir diferencias del entorno de compilacion
  • Mejora Ajustes en algunas dependencias o versiones de bibliotecas locales CHANGELOG.md

v6.6.4

2025/05/31
  • Sugerencia Cambio de API: ui.(status/navigation)BarAppearanceLight[By] -> ui.(status/navigation)BarIconLight[By]
  • Nuevo Métodos util.dpToPx/spToPx/pxToDp/pxToSp para conversión de unidades de píxeles
  • Corrección Subtítulos que pueden mostrarse incompletos al rotar la pantalla a orientación horizontal
  • Corrección Parte del contenido de algunas páginas oculto por la barra de navegación lateral al rotar la pantalla a horizontal
  • Corrección Área de coloreado de fondo de la barra de estado incompleta en algunas páginas bajo Android 15 issue #398
  • Corrección El editor de código podría escribir archivos con una codificación de confianza insuficiente causando errores de decodificación (arreglo tentativa)
  • Mejora Mejorada la adaptabilidad de diseño en las páginas de Aplicación y Desarrollador y eliminadas categorías de diseño innecesarias
  • Mejora En README.md, sección de compilación, añadidas varias formas para facilitar la localización de la página de configuración del objetivo issue #404
  • Mejora Ajustes en algunas dependencias o versiones de bibliotecas locales CHANGELOG.md

v6.6.3

2025/05/27
  • Nuevo Función de historial de versiones: ver registros de cambios multilingües y estadísticas
  • Nuevo Método timers.keepAlive (ahora global) para mantener activo el script
  • Nuevo Métodos de escucha de eventos como engines.on('start/stop/error', callback) para eventos globales del motor
  • Nuevo Método images.detectMultiColors para verificación de colores multipunto issue #374
  • Nuevo Métodos images.matchFeatures/detectAndComputeFeatures: búsqueda de imágenes a resolución completa (Ref a Auto.js Pro) issue #366
  • Nuevo Método images.compressToBytes para comprimir una imagen y generar un arreglo de bytes
  • Nuevo Método images.downsample para submuestreo de píxeles y creación de un nuevo ImageWrapper
  • Nuevo Método ui.keepScreenOn para mantener la pantalla encendida cuando la página UI está en foco
  • Nuevo Propiedad ui.root (getter) para obtener el nodo "contenedor raíz del contenido de la ventana" del layout UI
  • Nuevo El elemento webview admite diseños de páginas web basados en JsBridge (Ref a Auto.js Pro) [ver Código de ejemplo > Diseño > HTML interactivo / Vue2 + Vant (SFC)] issue #281
  • Nuevo El inspector de diseño permite ocultar controles (por TonyJiangWJ) pr #371 issue #355
  • Corrección El contenido de la documentación en línea en la pestaña Documentos y la actividad Documentos podía quedar cubierto por la barra de navegación del sistema
  • Corrección En algunas páginas, al pulsar botones de la Toolbar se podía activar por error el evento de clic en el título
  • Corrección En algunos dispositivos, las líneas en blanco del editor de código mostraban cuadros; corrección provisional
  • Corrección El cuadro de diálogo del selector de colores en los ajustes de color de tema podía apilarse infinitamente
  • Corrección La tecla de subir volumen no detenía todos los scripts cuando el servicio de accesibilidad estaba desactivado
  • Corrección Superposición del teclado IME al editar contenido de difusión personalizado en la página de tareas programadas
  • Corrección Los controles dentro de elementos webview no podían activar correctamente el teclado en pantalla
  • Corrección El diálogo de información de APK podía no obtener el nombre de la app ni la información del SDK
  • Corrección El ejemplo del administrador de archivos podía no cargar automáticamente el contenido de subcarpetas al acceder a un directorio de proyecto
  • Corrección El contenido superior en modo UI de Android 15 quedaba cubierto por la barra de estado
  • Corrección El color de fondo de la barra de estado en algunas páginas de Android 15 no seguía el color de tema de forma dinámica
  • Corrección El módulo dialogs no podía usar la propiedad customView issue #364
  • Corrección El parámetro de expresión de dialogs.input podía no devolver el resultado de ejecución
  • Corrección El uso de JavaAdapter provocaba desbordamiento de pila de ClassLoader issue #376
  • Corrección console.setContentTextColor hacía perder el color de texto por defecto issue #346
  • Corrección console.setContentBackgroundColor no aceptaba nombres de color issue #384
  • Corrección images.compress ahora ajusta la calidad de codificación en lugar de reducir píxeles
  • Corrección El método images.resize no funcionaba correctamente
  • Corrección engines.all podía lanzar ConcurrentModificationException issue #394
  • Corrección Formato de fecha incorrecto en algunos idiomas de README.md
  • Corrección La compilación Gradle podía fallar por longitud inválida de archivo de biblioteca issue #389
  • Mejora Añadidos separadores degradados en el menú del inspector de diseño para agrupar funciones
  • Mejora project.json admite la opción permissions para proyectos de scripts (por wirsnow) pr #391 issue #362
  • Mejora Al empaquetar un solo archivo se leen y seleccionan automáticamente los permisos declarados por la app instalada issue #362
  • Mejora Ampliado el soporte de adaptación del color de tema y más tipos de controles
  • Mejora Adaptabilidad de la anchura del cajón en la pantalla principal para modo horizontal o pantallas ultra-anchas
  • Mejora Nuevos diseños horizontal y de pantalla pequeña para las páginas Acerca de la app y Desarrollador
  • Mejora Las páginas de ajustes ofrecen la opción "Usar valor predeterminado" en los diálogos
  • Mejora El botón flotante del administrador de archivos se oculta automáticamente al pulsar fuera
  • Mejora El formateador de código admite operadores ??, ?., ??=
  • Mejora El editor de código admite la lectura y escritura de archivos con codificaciones GB18030 / UTF-16 (LE/BE) / Shift_JIS, etc
  • Mejora El editor de código ahora muestra información detallada del archivo (ruta/codificación/salto de línea/total de bytes y caracteres, etc.) issue #395
  • Mejora Se añaden mensajes de error para acciones de intent (editar / ver / instalar / enviar / reproducir, etc.)
  • Mejora El atributo url de webview admite rutas relativas
  • Mejora El parámetro ruta de ImageWrapper#saveTo admite rutas relativas
  • Mejora images.save permite comprimir archivos PNG al usar el parámetro quality issue #367
  • Mejora Se permite limpiar registros de actualizaciones ignoradas y direcciones de conexión en modo cliente
  • Mejora La información de actualización de versión se muestra en varios idiomas según el idioma actual
  • Mejora La carga asíncrona mejora la fluidez de la lista en el administrador de archivos
  • Mejora Mejorado el contenido y formato de los mensajes de excepción de scripts en la consola
  • Mejora El código de ejemplo puede restablecer carpetas a su contenido inicial
  • Mejora Mayor eficiencia al comprobar la firma de APK
  • Mejora Optimizada la eficiencia y presentación de diálogos de información de archivos APK y multimedia
  • Mejora El script de compilación Gradle mejora su capacidad de adaptación de versiones discussion #369
  • Mejora Ajustes en algunas dependencias o versiones de bibliotecas locales CHANGELOG.md
Para obtener más información sobre el historial de versiones, consulte

Compilación y construcción del proyecto


Para depurar o desarrollar el proyecto de código abierto AutoJs6, puedes usar Android Studio (producto de Google) o IntelliJ IDEA (producto de JetBrains).

Esta sección toma como ejemplo Android Studio para presentar los métodos de compilación y construcción del proyecto de código abierto AutoJs6; IntelliJ IDEA es similar.

Preparación de Android Studio

Descarga la versión Android Studio Panda 2 | 2025.3.2 (elige una según tus necesidades):

Nota: La fecha de lanzamiento de la versión anterior es el 3 de March de 2026. Para descargar otras versiones, o si los enlaces anteriores ya no funcionan, puedes visitar la página del Archivo de versiones de Android Studio.

Instala o descomprime los archivos mencionados anteriormente y ejecuta el software Android Studio (por ejemplo, "D:\android-studio\bin\studio64.exe").

Preparación del SDK de Android

Nota: Si el sistema ya tiene instalado el SDK de Android (Kit de Desarrollo de Software de Android), puedes omitir esta sección.

Abrir la página de configuración de Android SDK (Kit de desarrollo de software para Android) (cualquiera de las siguientes formas):

Help (Ayuda) | Find action (Buscar acción) # Introducir "Android SDK"
[ o ]
File (Archivo) | Settings (Configuración) # Buscar "Android SDK"
[ o ]
File (Archivo) | Settings (Configuración) | Language & Frameworks (Lenguajes y Frameworks) | Android SDK (Kit de Desarrollo de Software de Android)
[ o ]
File (Archivo) | Settings (Configuración) | Appearance & Behavior (Apariencia y Comportamiento) | System Settings (Configuración del sistema) | Android SDK (Kit de Desarrollo de Software de Android)

Si Android SDK Location (Ubicación del SDK de Android) está en blanco, haz clic en el botón Edit (Editar) a la derecha y continúa haciendo clic en Next (Siguiente) en la ventana emergente.

Nota: Puede ser necesario aceptar uno o varios acuerdos durante el proceso para continuar.

Una vez que los recursos relacionados se hayan descargado e instalado, haz clic en el botón Finish (Finalizar).
La ruta se completará automáticamente en Android SDK Location (Ubicación del SDK de Android), completando así la preparación del SDK.

Preparación de herramientas del SDK de Android

AutoJs6 requiere usar algunas herramientas del SDK (como NDK y CMake).

Nota: Si el sistema ya tiene instaladas todas las herramientas necesarias del SDK de Android para AutoJs6, puedes omitir esta sección.

Abrir la página de configuración de SDK Tools (Herramientas del SDK) (cualquiera de las siguientes formas):

Help (Ayuda) | Find action (Buscar acción) # Introducir "SDK Tools"
[ o ]
File (Archivo) | Settings (Configuración) # Buscar "SDK Tools"
[ o ]
File (Archivo) | Settings (Configuración) | Language & Frameworks (Lenguajes y Frameworks) | Android SDK (Kit de Desarrollo de Software de Android) | SDK Tools (Herramientas del SDK) (situado en la ventana de la derecha)
[ o ]
File (Archivo) | Settings (Configuración) | Appearance & Behavior (Apariencia y Comportamiento) | System Settings (Configuración del sistema) | Android SDK (Kit de Desarrollo de Software de Android) | SDK Tools (Herramientas del SDK) (situado en la ventana de la derecha) 

Marca Show Package Details (Mostrar detalles del paquete), haz clic en NDK y CMake para asegurarte de que las versiones requeridas están seleccionadas, La información de la versión de las herramientas del SDK se encuentra en el archivo version.properties en el directorio raíz del proyecto AutoJs6.

Preparación del JDK

La versión mínima requerida del JDK (Kit de Desarrollo de Java) para el proyecto AutoJs6 es 17, pero se recomienda usar una versión no inferior a 21.

Hasta el 14 de March de 2026, AutoJs6 soporta hasta la versión 25 de JDK.

Nota: Si el sistema ya tiene instalado JDK y cumple con los requisitos anteriores, puedes omitir esta sección.

Puedes descargar el JDK directamente desde la IDE, o desde el sitio web de Oracle.

Abrir la página de configuración de Gradle JDK (cualquiera de las siguientes formas):

Help (Ayuda) | Find action (Buscar acción) # Introducir "Gradle JDK"
[ o ]
File (Archivo) | Settings (Configuración) # Buscar "Gradle"
[ o ]
File (Archivo) | Settings (Configuración) | Build, Execution, Deployment (Compilación, Ejecución y Despliegue) | Build Tools (Herramientas de compilación) | Gradle

En Gradle JDK, puedes seleccionar o agregar diferentes versiones de JDK.

Si ya existe una versión adecuada de JDK (>= 17) en la lista, simplemente selecciónala.
De lo contrario, puedes seleccionar Download JDK (Descargar JDK) para descargar el JDK adecuado, haz clic en el botón Download (Descargar) y espera a que se complete la descarga.
También puedes seleccionar Add JDK (Añadir JDK) para agregar un JDK local existente, ubica su directorio y completa la adición del JDK.

Clonación de recursos de AutoJs6

En la página principal de Android Studio, haz clic en el botón Get from VCS (Obtener desde VCS).
En URL (dirección URL), ingresa https://github.com/SuperMonster003/AutoJs6.git,
En Directory (directorio), puedes cambiarlo a una ruta específica según sea necesario.
Haz clic en el botón Clone (clonar) y espera a que los recursos del proyecto AutoJs6 se clonen localmente en el dispositivo.

Nota: Este proceso puede requerir la instalación de Git (sistema de control de versiones distribuido).

Construcción del proyecto AutoJs6

Una vez completada la clonación, Android Studio abrirá la ventana del proyecto AutoJs6 y completará automáticamente la descarga inicial de Dependencies (dependencias) y el trabajo de construcción de Gradle.

Nota: Este proceso puede ser muy largo. Si las condiciones de la red no son buenas, puede ser necesario reintentar varias veces (haga clic en el botón Retry).

If the build couldn't proceed automatically or you need to rebuild the project, follow these steps:

  • From the Run/Debug Configurations menu in the Toolbar, select app, which is the main AutoJs6 application.
  • Click the Build Project (hammer icon) button on the left to start building the project. The default shortcut is CTRL + F9.
  • Wait for the build to complete. The Builder Output tab will display a message such as "BUILD SUCCESSFUL in 1h 17m 34s".

If the build fails, you can report the error message to the AutoJs6 project's Issues page..

Nota: For more details on building and running the app, please refer to Android Docs.

AutoJs6 Project Deployment (Run App)

Once the project is built successfully, it can be deployed as an application (App) to a physical device (e.g., phone/tablet) or a virtual device (e.g., Android emulator)..

  • In the Toolbar, select app from the Run/Debug Configurations menu, which is the main AutoJs6 application.
  • In the Available Devices dropdown on the right, choose the device on which the project app should run (physical or virtual).
  • Click the Run (triangle icon) button on the right to launch the app. The default shortcut is F10.
  • Wait for the deployment to finish; the chosen device will automatically install and run the project app.

AutoJs6 Project Deployment (Generate APK)

Package the project and generate an APK file that can be installed on Android devices.:

  • Versión de depuración (Debug Version)
    • Build (Compilar) | Build Bundle(s) / APK(s) | Build APK(s)
    • Generar un paquete de instalación de versión de depuración
    • Ruta de ejemplo: "D:\AutoJs6\app\build\outputs\apk\debug\"
  • Versión de lanzamiento (Release Version)
    • Build (Compilar) | Generate Signed Bundle / APK
    • Selecciona la opción APK
    • Prepara el archivo de firma (crear o seleccionar uno nuevo) para generar un paquete de instalación de versión de lanzamiento firmado
    • Ruta de ejemplo: "D:\AutoJs6\app\release\"

Nota: For more information on building an app for user release, please refer to Android Docs.

Predefined Gradle Build Tasks for AutoJs6

Besides building the project App, AutoJs6 supports several predefined Gradle build tasks that help developers perform convenient project-related operations..

Under the Run/Debug Configurations menu in the Toolbar, you can find various predefined Gradle tasks, each indicated by an elephant icon on the left..

  • AutoJs6 [inrt:assemble]

Assemble the "inrt" build variant, which primarily serves the AutoJs6 script packaging feature..

The AutoJs6 project has various build variants. The "inrt" variant is used for packaging scripts, generating the template file "template.apk" required for packaging..

When using the packaging feature, you might encounter the following error message:

java.io.FileNotFoundException: template.apk

This indicates that the template file does not exist. You need to manually run the inrt:assemble task to generate the template file, then rebuild and redeploy the app..

Nota: Si el código del proyecto principal cambia y se desea sincronizar dichos cambios con la aplicación empaquetada, es necesario volver a ejecutar la tarea inrt:assemble para generar los archivos de plantilla y redeplegar la aplicación

  • AutoJs6 [app:bundle]

Package the outputs of the debug build process, primarily for the AutoJs6 TypeScript definitions project..

After running the task, it produces the latest JAR file for the AutoJs6 project. Using the Android d.ts Generator (by NativeScript), you can generate the type definitions (d.ts format) for the main AutoJs6 app..

  • AutoJs6 [app:digest]

Append digest information to the APK produced by the release build, mainly to finalize the filename before publishing the latest version of AutoJs6 to GitHub..

Below is the comparison of filenames before and after appending the digest information:

Before:
autojs6-v6.6.2-arm64-v8a.apk
After:
autojs6-v6.6.2-arm64-v8a-0f2a9d74.apk

Consultar: Android Docs


Asistencia en el desarrollo de scripts


Para desarrollar scripts ejecutables en AutoJs6, utiliza las herramientas de desarrollo adecuadas:

Para escribir y depurar scripts en PC, el complemento de VSCode puede conectar el PC y el teléfono:

Al escribir código con herramientas de desarrollo, la función de autocompletado puede ayudar al desarrollador a completar el código:

Al escribir el código, puedes consultar la documentación sobre la API y el uso de AutoJs6 en cualquier momento:

Los proyectos de desarrollo de scripts existentes pueden servir como referencia e inspiración para tus propios proyectos de scripts:


Contribución


Agradecemos a todos los que han contribuido al desarrollo del proyecto AutoJs6.

Contribuyentes Número de commits Últimas presentaciones
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
Datos actualizados el 4 de March de 2026.

Las entradas de datos están ordenadas en orden descendente por últimas presentaciones.

Las nuevas Pull Requests pendientes de procesamiento se añadirán a las estadísticas de datos una vez procesadas.

Algunos contribuyentes no aparecen en GitHub Contributors con sus registros de contribución vacíos, pero aún puedes verificar sus registros de contribución a través de Pull Request.