74 KiB
Herramienta de automatización JavaScript que soporta servicios de accesibilidad en la plataforma Android
Idiomas
El archivo actual README.md admite los siguientes idiomas:
- 简体中文 [zh-Hans]
- 繁體中文 (香港) [zh-Hant-HK]
- 繁體中文 (台灣) [zh-Hant-TW]
- English [en]
- Français [fr]
- Español [es] # actualmente
- 日本語 [ja]
- 한국어 [ko]
- Русский [ru]
- العربية [ar]
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
Manual
- Documentación de la aplicación
- Manual del usuario (Por escribir)
- Solución de problemas
- Compilación y construcción del proyecto
- Asistencia en el desarrollo de scripts
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)
- Soporte para secuencias de escape de puntos de código Unicode plano suplementario
'\u{1D160}'; /* significa "𝅘𝅥𝅮", método tradicional: '\uD834\uDD60'. */ - Soporte para Object.values()
Object.values({name: 'Max', age: 4}); // ['max', 4] - Soporte para Array.prototype.includes()
[10, 20, NaN].includes(20); // true - Soporte para BigInt
typeof 567n === 'bigint'; // true - Soporte para plantillas de cadena
`Lucky number: ${(Math.random() * 100).toFixed(0)}` - Consulta más características nuevas del motor Rhino
- Consulta la lista de compatibilidad del motor Rhino
- Soporte para secuencias de escape de puntos de código Unicode plano suplementario
Historial de Versiones
v6.7.0
2026/03/14
NuevoFuncion Centro de plugins, compatible con operaciones como instalar/desinstalar/actualizar plugins (entrada: boton del cajon de inicio/pestana de inicio)NuevoFuncion 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)NuevoFuncion Papelera, compatible con ver/restaurar archivos/carpetas eliminados (entrada: boton del cajon de inicio)NuevoPlugin Paddle OCR (PP-OCRv5), para reconocimiento optico de caracteresNuevoModulo cvt, para conversion de unidades de datos (consulte Documentacion del proyecto > Conversion de unidades)NuevoModulo fmt, para formateo de datos (consulte Documentacion del proyecto > Formateo)NuevoModulo zip, para operaciones de compresion y descompresion de archivos (Ref to Auto.js Pro) (consulte Documentacion del proyecto > Zip)NuevoModulo mediainfo, para ver informacion detallada de archivos multimedia (consulte Documentacion del proyecto > Informacion multimedia)NuevoMetodo cvt.bytes, para conversion de unidades de datos de bytes (consulte Documentacion del proyecto > Conversion de unidades)NuevoMetodo fmt.bytes, para formateo de datos de bytes (consulte Documentacion del proyecto > Formateo)NuevoMetodo s13n.bytes, para estandarizar datos de bytes (consulte Documentacion del proyecto > Estandarizacion)NuevoMetodo app.isDualInstalled, para detectar si una aplicacion dual esta instalada (requiere permisos de Shizuku o Root)issue #450NuevoMetodo device.getSharedDeviceId, para obtener un ID de dispositivo compartido y unificado entre aplicacionesissue #455NuevoMetodo device.setPointerLocation y otros metodos de la serie Toggleable, para establecer u obtener la opcion del sistema de ubicacion del punteroissue #381NuevoEl metodo dialogs.build admite parametros de opcion textAllCaps/(positive/negative/neutral)TextAllCaps, para controlar si el texto de los botones se muestra completamente en mayusculasNuevoMetodo images.loadAsync, para obtener recursos de imagen de red de forma asincronaissue #327NuevoMetodo ui.getNavigationBarHeight/propiedad navigationBarHeight (getter), para obtener la altura de la barra de navegacionissue #456NuevoMetodo ui.getVisible(Status/Navigation)BarHeight/propiedad visible(Status/Navigation)BarHeight (getter), para obtener rapidamente la altura visible de la barra de estado o de navegacionissue #456NuevoMetodos http.put/del(ete)/head, para enviar solicitudes de red usando distintos metodos HTTPNuevoMetodos como http.getAsync/postAsync/requestAsync, para enviar solicitudes de red de forma asincronaissue #423NuevoEl objeto body obtenido por los metodos relacionados con solicitudes del modulo http agrega metodos como stream/saveToFile/closeissue #452NuevoLos metodos relacionados con solicitudes del modulo http admiten parametros de opcion de control de cache (cacheBody/bodyCacheThresholdBytes)NuevoLos metodos relacionados con solicitudes del modulo http admiten parametros de opcion inseguros (isInsecure/insecure), para ignorar excepciones relacionadas con certificadosissue #417NuevoLos metodos relacionados con solicitudes del modulo http admiten la opcion options.client, para configurar OkHttpClient.Builder (como followRedirects, etc.)issue #454NuevoPropiedad auto.state (getter) y propiedad shizuku.state (getter), para obtener el estado del servicio de accesibilidad y del servicio ShizukuNuevoMetodos runtime.(set/is)JavaPrimitiveWrap, para establecer u obtener la estrategia de envoltura de tipos primitivos de Javaissue #435NuevoMetodos autojs.(restart/exit), para reiniciar o salir de la aplicacion AutoJs6, y compatibles con ejecutar automaticamente un script especificado al reiniciar la aplicacionissue #460NuevoMetodo UiObject#isShifted, para detectar cambios de posicion de controlesissue #469NuevoMetodo UiObject#snapshot, para capturar el estado actual de un controlissue #469NuevoMetodo engines.myEngine().getStartTime(), para obtener la marca de tiempo de inicio del motor de scriptsissue #449NuevoMetodo global crash, para probar la pagina de informe de fallosNuevoMetodo global structuredClone, para copia profunda de objetos JavaScript (consulte MDN)NuevoLos selectores de la serie equivalente (UiSelector#id/text/...) y de la serie contiene (UiSelector#xxxContains) admiten parametros de expresion regularNuevoLos parametros de expresion regular de los selectores admiten banderas (i, m, s, u)NuevoLas expresiones regulares admiten sintaxis de lookbehindissue #464NuevoEl administrador de archivos agrega elementos de menu "Mover a" y "Copiar a", con soporte para abortar operaciones y mostrar estado de progresoNuevoEl 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 perfilNuevoEl cajon de inicio agrega la herramienta "Ubicacion del puntero"NuevoEl cajon de inicio agrega el interruptor "Acceso a todos los archivos"NuevoEl cajon de inicio agrega el interruptor "Mostrar interfaz desde segundo plano" (para dispositivos [Xiaomi/Vivo])NuevoLa pagina de configuracion agrega la opcion "Envoltura de tipos primitivos de Java"issue #435NuevoLa pagina de configuracion agrega la opcion "Motor de programacion de tareas", con soporte para AlarmManager/WorkManager/JobSchedulerissue #457issue #434issue #449issue #388issue #378issue #163issue #53issue #21NuevoLa pagina de configuracion agrega la opcion "Icono del lanzador de aplicaciones", con soporte para iconos adaptativos/iconos con fondo transparenteissue #405NuevoLa 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 rapidoNuevoLa 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 pantallaNuevoLos 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 directoNuevoLas aplicaciones empaquetadas admiten inicio automatico al arrancar y agregan un interruptor en la pagina de configuracionNuevoLas aplicaciones empaquetadas admiten accesos directos de aplicacion (pagina de registros/pagina de configuracion)NuevoLa pagina de configuracion de empaquetado agrega botones de deshacer/rehacer/guardarNuevoLa pagina de configuracion de empaquetado agrega un mecanismo de perfiles, con soporte para crear/modificar/eliminar/importar/exportar perfilesissue #483NuevoHerramienta Scrapers (run-scrapers.mjs), para actualizar automaticamente datos estructurados de scripts de compilacion Gradle/datos comunes del README/datos de plantilla README, etc.NuevoHerramienta Gradle Wrapper switcher (gradle-wrapper-switcher), para cambiar la version principal local de Gradle (como Gradle 8.x y Gradle 9.x)CorrecciónError en la restriccion de cantidad y tipos de parametros del metodo noticeissue #462CorrecciónProblema por el que la propiedad ui.R (getter) no podia usarse correctamenteCorrecciónProblema por el que las excepciones generadas en parametros de callback del metodo ui.post podian fallar en silencioCorrecciónProblema por el que metodos globales como isJavaClass/isJavaPackage eran invalidosCorrecciónProblema por el que el parametro timeout del metodo timers.keepAlive no funcionabaCorrecciónProblema por el que los metodos floaty.window/rawWindow no podian aceptar parametros de tipo cadenaissue #467CorrecciónProblema por el que floaty.rawWindow mostraba algunos controles de forma anomala debido a que se pasaba un contexto incorrectoCorrecciónProblema por el que el metodo util.isString no era validoCorrecciónProblema por el que util.class[Name]/getClass[Name] podia devolver resultados incorrectosCorrecciónProblema por el que util.java.array no podia usar correctamente parametros de tipo como BooleanCorrecciónProblema por el que el objeto devuelto por threads.disposable() podia ser encapsulado inesperadamente al acceder a datosissue #435CorrecciónProblema por el que, al llamar varias veces al metodo console.build, las opciones de estilo de la ventana flotante de registros no se restablecian correctamenteCorrecciónProblema por el que las opciones (title/content)BackgroundColor del metodo console.build sobrescribian opciones de transparencia o tintadoissue #458CorrecciónProblema por el que metodos como console/toast podian perder ceros finales al mostrar Java DoubleCorrecciónProblema por el que no era posible usar metodos como console/toast para mostrar el tipo de datos BigIntCorrecciónProblema por el que el metodo toast podia provocar fugas de memoria al mantener una referencia fuerte a la instancia ToastCorrecciónProblema por el que algunos objetos globales podian perder propiedades y metodos del prototipo de JavaScriptCorrecciónProblema por el que el objeto this podia apuntar incorrectamente al usar expresiones JavaScript como valores de atributos en sintaxis XMLCorrecciónProblema por el que el parametro de opcion linkify del metodo dialogs.build no funcionabaCorrecciónProblema por el que el metodo dialogs.build podia dañar los datos originales del parametro objetoCorrecciónCalculo incorrecto de la tasa de fotogramas interna del metodo setMaxFps del control de elemento canvasCorrecciónCalculo incorrecto del ancho al concatenar verticalmente con el metodo images.concatCorrecciónProblema por el que cancelar la autorizacion del metodo images.requestScreenCapture podia provocar un fallo de la aplicacionCorrecciónProblema por el que las capturas obtenidas por el metodo images.captureScreen podian tener orientacion incorrecta o relleno de bordes negrosissue #337CorrecciónProblema por el que el valor 1 se interpretaba erroneamente como porcentaje al usar parametros de region en algunos metodos de imagesCorrecciónProblema por el que la funcion de la marca oneShot fallaba cuando ocurrian excepciones en algunos metodos relacionados con imagesissue #372CorrecciónProblema por el que algunos metodos relacionados con images podian provocar fugas de memoriaissue #372CorrecciónProblema por el que images.save y el metodo ImageWrapper#saveTo no podian escribir correctamente archivos cuando la ruta proporcionada no existiaCorrecciónProblema por el que el metodo ImageWrapper#recycle no reciclaba correctamente recursos de imagenCorrecciónProblema por el que algunos metodos sobrecargados de ocr podian no funcionar correctamenteCorrecciónProblema por el que los resultados obtenidos por el metodo ocr.detect podian no coincidir con ocr.modeissue #468CorrecciónProblema por el que los eventos del servicio de accesibilidad registrados con auto.registerEvent podian ser eliminados por error por otros scriptsissue #466issue #343CorrecciónProblema por el que el metodo UiObject#child podia lanzar ArrayIndexOutOfBoundsException en Android 10issue #416CorrecciónProblema por el que al llamar metodos de modulos integrados podia haber inconsistencia en el contexto RhinoCorrecciónProblema por el que, tras crear muchas ventanas flotantes en un script, podian quedar ventanas residuales al salir del scriptCorrecciónProblema por el que los parametros de configuracion de project.json no se analizaban correctamente al ejecutar un proyectoCorrecciónProblema por el que el parametro excludedDirs de project.json podia hacer fallar el analisis del archivo de configuracion al empaquetar un proyectoissue #428CorrecciónProblema por el que la funcion de empaquetado podia no funcionar correctamente en Android 7.xCorrecciónProblema por el que los nombres originales de las claves podian modificarse al guardar el archivo de configuracion de un proyecto de scriptCorrecciónProblema 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 aplicacionCorrecciónProblema por el que obtener o reconstruir ImageReader con frecuencia podia provocar un fallo de la aplicacion al no haber fotogramas disponibles temporalmente en el bufferCorrecciónProblema por el que el observador de eventos de entrada InputEventObserver podia causar una ralentizacion evidente al iniciar la aplicacionCorrecciónProblema por el que el proceso de servicio de usuario Shizuku no terminaba correctamente y se acumulaban procesosissue #474CorrecciónProblema por el que las aplicaciones empaquetadas no podian usar correctamente las funciones Paddle OCR y Rapid OCRCorrecciónProblema por el que el valor de la clave key en el archivo de configuracion project.json de aplicaciones empaquetadas podia modificarse inesperadamenteCorrecciónProblema por el que al desplazarse por la lista de "Permisos requeridos" en la pagina de configuracion de empaquetado podia parpadear el icono de las casillasCorrecciónProblema por el que, en la pagina de historial de versiones, algunos sistemas mostraban datos estadisticos incompletos debido a diferencias de fuenteCorrecciónProblema por el que MLKit Google OCR no podia inicializarse correctamente en algunos dispositivos (correccion tentativa)issue #8CorrecciónProblema por el que, en algunos dispositivos, los botones funcionales del administrador de archivos no activaban correctamente los eventos de clic (correccion tentativa)issue #465CorrecciónProblema por el que las lineas en blanco del editor de codigo mostraban caracteres de cuadro en algunos dispositivos (correccion tentativa)CorrecciónProblema por el que el teclado virtual podia tapar el contenido de texto en el editor de codigoCorrecciónProblema por el que el editor de codigo seguia permitiendo editar contenido en modo de solo lecturaCorrecciónProblema 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 codigoCorrecciónProblema por el que cargar archivos grandes en el editor de codigo podia provocar un fallo de la aplicacion (correccion tentativa)CorrecciónInicializacion anomala del estado de los botones funcionales cuando el editor de codigo abria automaticamente un archivo nuevoCorrecciónProblema por el que poner la aplicacion en segundo plano mientras se editaba un archivo en el editor de codigo podia provocar un falloCorrecciónProblema 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ónProblema por el que ErrorDialogActivity podia no iniciarse correctamente o desaparecer automaticamente en poco tiempoissue #479issue #471issue #414issue #340CorrecciónTipos de parametros aceptados incorrectos en el constructor Canvasissue #402CorrecciónProblema por el que la funcion de copiar informacion detallada no funcionaba en la pagina de informe de fallosCorrecciónProblema por el que la logica personalizada de retroceso dejaba de funcionar en Android 16+, causando un comportamiento anomalo del boton atrasCorrecciónProblema 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 archivosCorrecciónProblema por el que la interfaz no se actualizaba automaticamente tras eliminar carpetas de proyecto en el administrador de archivosCorrecciónProblema por el que la aplicacion podia fallar cuando los elementos de la lista del panel de tareas cambiaban con frecuenciaCorrecciónProblema 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ónProblema 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 SDKCorrecciónProblema 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 reconectarCorrecciónProblema 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 conexionCorrecciónProblema 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 registrosissue #385CorrecciónProblema por el que, al conectarse al plugin de VSCode de varias formas al mismo tiempo, la cantidad de registros impresos podia multiplicarseCorrecciónProblema por el que la generacion de codigo en la pagina de analisis de diseño podia fallar con controles de coleccion (correccion tentativa)issue #328CorrecciónProblema por el que el interruptor "Usar la tecla 'Bajar volumen' para controlar la grabacion" no funcionaba en la pagina de configuracionissue #480CorrecciónProblema 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 pantallaissue #480CorrecciónProblema por el que la primera accion en los archivos de codigo generados por grabacion de scripts (como tocar o deslizar) siempre era ignoradaCorrecciónProblema por el que operar archivos en segundo plano desde el dialogo flotante "Ejecutar script" podia provocar un fallo de la aplicacionCorrecciónProblema 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 principalCorrecciónProblema por el que el interruptor "Mostrar sobre otras aplicaciones" en dispositivos Xiaomi podia abrir una pagina de configuracion incorrectaCorrecciónProblema por el que, despues de cancelar el proceso de descarga de actualizaciones, los paquetes de red seguian descargandose en segundo plano (correccion tentativa)CorrecciónProblema por el que la tarea Rebuild Project no podia completarse correctamente cuando se habilitaba la opcion isCleanup[Paddle/Rapid]Ocr en las herramientas de compilacionMejoraFunciones relacionadas con Paddle OCR (PP-OCRv3) modularizadoissue #334issue #331issue #325MejoraMejora de compatibilidad del metodo runtime.loadJar (by LYS86)pr #475MejoraMejora de cierta compatibilidad del metodo ui.getStatusBarHeight/propiedad statusBarHeight (getter)MejoraMetodos como console.log admiten mostrar informacion detallada al imprimir objetos globales (images, app, ocr, etc.)MejoraEl metodo dialogs.build admite parametros de opcion nativos de MaterialDialog.BuilderMejoraEl metodo dialogs.build admite coincidencia flexible de cadenas para los parametros de opcion animation/linkifyMejoraMejora de estabilidad y coherencia al obtener orientacion de pantalla y datos de ancho/alto mediante device.rotation/rotation/width/heightMejoraMejora de eficiencia de ejecucion y compatibilidad de metodos como app.launchDual/startDualActivityMejoraandroid.graphics.Paint#setColor admite analizar correctamente parametros de color como ColorInt/ColorHex/ColorNameMejoraLos mensajes de excepcion de tipos de argumentos en metodos relacionados con modulos integrados agregan informacion resumida de tiposMejoraLos modulos integrados (dayjs/cheerio/dayjs/i18n) dejan de usar modo de ejecucion de script y adoptan carga diferida globalMejoraAl imprimir datos enormes con metodos relacionados con la consola, se omite adecuadamente parte del contenido segun limites superiores para reducir el tiempo de impresionMejoraEl valor inicial de la cuenta regresiva de la ventana flotante de consola aumenta de 6 a 9 segundosMejoraLa 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 parametrosMejoraLas 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 Androidissue #458MejoraSe optimiza el momento de cierre del menu al tocar elementos tras expandir el boton flotante del administrador de archivosMejoraEl administrador de archivos/panel de tareas admite mostrar informacion estadistica de cantidad de archivos/tareasMejoraCuando falla el guardado en el editor de codigo, se guarda automaticamente como borrador y admite guardar como archivo nuevoMejoraMejora de cierta fluidez al cargar archivos grandes en el editor de codigoMejoraLa funcion "Buscar/Reemplazar" del editor de codigo admite persistencia de estado y visualizacion en tiempo real del recuento de resultadosMejoraCuando el editor de codigo solicita guardar, se asegura de guardar correctamente antes de salir para reducir la tasa de fallos de guardadoMejoraEl estado del boton Guardar del editor de codigo coincide mejor con la logica subjetiva del usuarioMejoraEl editor de codigo admite pulsacion larga en teclas como "-", "=", "(", "[", "{", "<"MejoraEl cuadro de dialogo del proceso de empaquetado agrega un boton "Abortar"MejoraSe mejora la forma de visualizacion del cuadro de dialogo del proceso de empaquetado y se agregan estadisticas de tiempo consumidoMejoraAl instalar aplicaciones empaquetadas con una nueva configuracion, se sobrescriben las configuraciones relacionadas de la aplicacion antiguaMejoraLa pagina de configuracion de empaquetado marca por defecto los permisos necesarios (WAKE_LOCK/INTERNET/WRITE_EXTERNAL_STORAGE/...)issue #397MejoraLa 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/...)MejoraLa pagina de configuracion de aplicaciones empaquetadas agrega un interruptor de servicio en primer planoissue #406MejoraAl guardar el archivo de configuracion del proyecto de script se agrega deteccion de conflictos de nombres de claves para evitar ambigüedadMejoraLa pagina de informe de fallos admite pellizcar con dos dedos para ajustar el tamaño de fuente y agrega botones de funciones comunesMejoraLos iconos del lanzador de aplicaciones admiten caracteristicas de iconos adaptativosissue #405MejoraCuando 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 AndroidMejoraLos 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 sistemaMejoraAl 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 cursoMejoraEl modo cliente admite establecer conexion usando direcciones IPv6 y nombres de dominioMejoraEl modo cliente admite avisos de deteccion para direcciones IPv4 de uso especial (loopback/broadcast/multicast/reservada/...)MejoraEl modo cliente admite mostrar y gestionar el estado de la conexion (corregir direccion/abortar conexion)MejoraEl modo servidor admite mostrar la cantidad de clientes conectadosMejoraLa lectura del permiso de notificaciones admite un mecanismo de reconexion automatica (requestRebind) para mejorar la estabilidad de funciones relacionadas con escucha de notificacionesMejoraEl boton flotante mejora la seguridad al iniciar Activity desde segundo plano para evitar fallos de la aplicacionMejoraEl cuadro de dialogo "Mas" del boton flotante usa carga asincrona de datos para mejorar la fluidez de visualizacionMejoraEl cuadro de dialogo "Ejecutar script" del boton flotante agrega el elemento de menu "Inicio"MejoraEl 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 automaticamenteMejoraSe admite usar permisos de Shizuku para grabar scripts y reproducir grabaciones (la fluidez de reproduccion puede verse algo afectada)issue #320MejoraLa pagina de configuracion de color de tema usa un metodo de posicionamiento rapido para localizar colores de tema y mejorar la eficienciaMejoraSe reemplaza LocalBroadcastManager, ya obsoleto, por LiveData y SharedFlowMejoraLos scripts de compilacion Gradle mejoran la eficiencia de extraccion de archivos en formato 7zMejoraLos scripts de compilacion Gradle admiten obtener la version detallada del IDE Android Studio (por ejemplo, "2025.1.4.7")MejoraLos scripts de compilacion Gradle admiten generar automaticamente los datos requeridos por la clase VersionCodesList para reducir la latencia de inicio de scriptsMejoraUso de Version Catalogs para gestionar centralizadamente versiones de dependencias y plugins de GradleMejoraScripts de compilacion Gradle modularizados, migrando la logica compartida a build-logic y abstraida como plugins de convencionMejoraUso de plugins de convencion de Gradle para simplificar la logica de carga de bibliotecas AAR localesMejoraSe elimina la opcion de Gradle "android.enableJetifier=true" para adaptarse a Gradle 9MejoraUso de Toolchain en lugar de sourceCompatibility/targetCompatibility para reducir diferencias del entorno de compilacionMejoraAjustes en algunas dependencias o versiones de bibliotecas localesCHANGELOG.md
v6.6.4
2025/05/31
SugerenciaCambio de API: ui.(status/navigation)BarAppearanceLight[By] -> ui.(status/navigation)BarIconLight[By]NuevoMétodos util.dpToPx/spToPx/pxToDp/pxToSp para conversión de unidades de píxelesCorrecciónSubtítulos que pueden mostrarse incompletos al rotar la pantalla a orientación horizontalCorrecciónParte del contenido de algunas páginas oculto por la barra de navegación lateral al rotar la pantalla a horizontalCorrecciónÁrea de coloreado de fondo de la barra de estado incompleta en algunas páginas bajo Android 15issue #398CorrecciónEl editor de código podría escribir archivos con una codificación de confianza insuficiente causando errores de decodificación (arreglo tentativa)MejoraMejorada la adaptabilidad de diseño en las páginas de Aplicación y Desarrollador y eliminadas categorías de diseño innecesariasMejoraEn README.md, sección de compilación, añadidas varias formas para facilitar la localización de la página de configuración del objetivoissue #404MejoraAjustes en algunas dependencias o versiones de bibliotecas localesCHANGELOG.md
v6.6.3
2025/05/27
NuevoFunción de historial de versiones: ver registros de cambios multilingües y estadísticasNuevoMétodo timers.keepAlive (ahora global) para mantener activo el scriptNuevoMétodos de escucha de eventos como engines.on('start/stop/error', callback) para eventos globales del motorNuevoMétodo images.detectMultiColors para verificación de colores multipuntoissue #374NuevoMétodos images.matchFeatures/detectAndComputeFeatures: búsqueda de imágenes a resolución completa (Ref a Auto.js Pro)issue #366NuevoMétodo images.compressToBytes para comprimir una imagen y generar un arreglo de bytesNuevoMétodo images.downsample para submuestreo de píxeles y creación de un nuevo ImageWrapperNuevoMétodo ui.keepScreenOn para mantener la pantalla encendida cuando la página UI está en focoNuevoPropiedad ui.root (getter) para obtener el nodo "contenedor raíz del contenido de la ventana" del layout UINuevoEl 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 #281NuevoEl inspector de diseño permite ocultar controles (por TonyJiangWJ)pr #371issue #355CorrecciónEl 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 sistemaCorrecciónEn algunas páginas, al pulsar botones de la Toolbar se podía activar por error el evento de clic en el títuloCorrecciónEn algunos dispositivos, las líneas en blanco del editor de código mostraban cuadros; corrección provisionalCorrecciónEl cuadro de diálogo del selector de colores en los ajustes de color de tema podía apilarse infinitamenteCorrecciónLa tecla de subir volumen no detenía todos los scripts cuando el servicio de accesibilidad estaba desactivadoCorrecciónSuperposición del teclado IME al editar contenido de difusión personalizado en la página de tareas programadasCorrecciónLos controles dentro de elementos webview no podían activar correctamente el teclado en pantallaCorrecciónEl diálogo de información de APK podía no obtener el nombre de la app ni la información del SDKCorrecciónEl ejemplo del administrador de archivos podía no cargar automáticamente el contenido de subcarpetas al acceder a un directorio de proyectoCorrecciónEl contenido superior en modo UI de Android 15 quedaba cubierto por la barra de estadoCorrecciónEl 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ámicaCorrecciónEl módulo dialogs no podía usar la propiedad customViewissue #364CorrecciónEl parámetro de expresión de dialogs.input podía no devolver el resultado de ejecuciónCorrecciónEl uso de JavaAdapter provocaba desbordamiento de pila de ClassLoaderissue #376Correcciónconsole.setContentTextColor hacía perder el color de texto por defectoissue #346Correcciónconsole.setContentBackgroundColor no aceptaba nombres de colorissue #384Correcciónimages.compress ahora ajusta la calidad de codificación en lugar de reducir píxelesCorrecciónEl método images.resize no funcionaba correctamenteCorrecciónengines.all podía lanzar ConcurrentModificationExceptionissue #394CorrecciónFormato de fecha incorrecto en algunos idiomas de README.mdCorrecciónLa compilación Gradle podía fallar por longitud inválida de archivo de bibliotecaissue #389MejoraAñadidos separadores degradados en el menú del inspector de diseño para agrupar funcionesMejoraproject.json admite la opción permissions para proyectos de scripts (por wirsnow)pr #391issue #362MejoraAl empaquetar un solo archivo se leen y seleccionan automáticamente los permisos declarados por la app instaladaissue #362MejoraAmpliado el soporte de adaptación del color de tema y más tipos de controlesMejoraAdaptabilidad de la anchura del cajón en la pantalla principal para modo horizontal o pantallas ultra-anchasMejoraNuevos diseños horizontal y de pantalla pequeña para las páginas Acerca de la app y DesarrolladorMejoraLas páginas de ajustes ofrecen la opción "Usar valor predeterminado" en los diálogosMejoraEl botón flotante del administrador de archivos se oculta automáticamente al pulsar fueraMejoraEl formateador de código admite operadores??,?.,??=MejoraEl editor de código admite la lectura y escritura de archivos con codificaciones GB18030 / UTF-16 (LE/BE) / Shift_JIS, etcMejoraEl 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 #395MejoraSe añaden mensajes de error para acciones de intent (editar / ver / instalar / enviar / reproducir, etc.)MejoraEl atributo url de webview admite rutas relativasMejoraEl parámetro ruta de ImageWrapper#saveTo admite rutas relativasMejoraimages.save permite comprimir archivos PNG al usar el parámetro qualityissue #367MejoraSe permite limpiar registros de actualizaciones ignoradas y direcciones de conexión en modo clienteMejoraLa información de actualización de versión se muestra en varios idiomas según el idioma actualMejoraLa carga asíncrona mejora la fluidez de la lista en el administrador de archivosMejoraMejorado el contenido y formato de los mensajes de excepción de scripts en la consolaMejoraEl código de ejemplo puede restablecer carpetas a su contenido inicialMejoraMayor eficiencia al comprobar la firma de APKMejoraOptimizada la eficiencia y presentación de diálogos de información de archivos APK y multimediaMejoraEl script de compilación Gradle mejora su capacidad de adaptación de versionesdiscussion #369MejoraAjustes en algunas dependencias o versiones de bibliotecas localesCHANGELOG.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):
- android-studio-panda2-windows.exe (1.28 GiB)
- android-studio-panda2-windows.zip (1.29 GiB)
- android-studio-panda2-linux.tar.gz (1.32 GiB)
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 Configurationsmenu in the Toolbar, selectapp, 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 Outputtab 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
appfrom theRun/Debug Configurationsmenu, which is the main AutoJs6 application. - In the
Available Devicesdropdown 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 isF10. - 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:assemblepara 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:
- AutoJs6-VSCode-Extension - Depurador de AutoJs6 (extensión para la plataforma VSCode)
Al escribir código con herramientas de desarrollo, la función de autocompletado puede ayudar al desarrollador a completar el código:
- AutoJs6-TypeScript-Declarations - Archivos de declaración de AutoJs6 (autocompletado del código)
Al escribir el código, puedes consultar la documentación sobre la API y el uso de AutoJs6 en cualquier momento:
- AutoJs6-Documentation - Documentación de la aplicación AutoJs6
Los proyectos de desarrollo de scripts existentes pueden servir como referencia e inspiración para tus propios proyectos de scripts:
- Ant-Forest - Script de recolección automática de energía de Ant Forest por TonyJiangWJ
- Ant-Forest - Script de recolección automática de energía de Ant Forest por SuperMonster003
- autojs - Scripts útiles de Auto.js por e1399579
- autojsDemo - Ejemplo de demostración de Auto.js por snailuncle
- Repositorios relacionados con autojs - Todos los repositorios relacionados con el tema autojs en GitHub
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 |
kojoe‑code (抠脚本人) |
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.
