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
Rhino Android Studio
CodeFactor Grade JetBrains supporter GitHub License

****** ### Idiomas ****** El archivo actual `README.md` admite los siguientes idiomas: - [简体中文 [zh-Hans]](http://project.autojs6.com/blob/master/README-zh-Hans.md) - [繁體中文 (香港) [zh-Hant-HK]](http://project.autojs6.com/blob/master/README-zh-Hant-HK.md) - [繁體中文 (台灣) [zh-Hant-TW]](http://project.autojs6.com/blob/master/README-zh-Hant-TW.md) - [English [en]](http://project.autojs6.com/blob/master/README-en.md) - [Français [fr]](http://project.autojs6.com/blob/master/README-fr.md) - Español [es] # actualmente - [日本語 [ja]](http://project.autojs6.com/blob/master/README-ja.md) - [한국어 [ko]](http://project.autojs6.com/blob/master/README-ko.md) - [Русский [ru]](http://project.autojs6.com/blob/master/README-ru.md) - [العربية [ar]](http://project.autojs6.com/blob/master/README-ar.md) ****** ### Introducción ****** [Auto.js](https://github.com/hyb1996/Auto.js) es una herramienta de automatización para la plataforma Android que admite [servicios de accesibilidad](https://developer.android.com/guide/topics/ui/accessibility/service?hl=zh-cn). Auto.js fue lanzado por [hyb1996](https://github.com/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 | Desarrollador | Fecha de inicio del desarrollo | Fecha de finalización del desarrollo | |:------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------:| | [Auto.js](https://github.com/hyb1996/Auto.js) | [Auto.js](https://github.com/TonyJiangWJ/Auto.js/commit/268ec8895bbfa28fc7715154eb15b1c1eaaefd14#diff-5e01f7d37a66e4ca03deefc205d8e7008661cdd0284a05aaba1858e6b7bf9103R2) | [hyb1996](https://github.com/hyb1996) | `2017/01/27` | `2020/03/13` | | Auto.js Pro 7 | Auto.js | [hyb1996](https://github.com/hyb1996) | `2019/03/13` | `2019/07/08` | | Auto.js Pro 8 | AutoJsPro | [hyb1996](https://github.com/hyb1996) | `2019/10/13` | `2021/07/24` | | [Auto.js](https://github.com/TonyJiangWJ/Auto.js) | [Auto.js M](https://github.com/TonyJiangWJ/Auto.js/commit/268ec8895bbfa28fc7715154eb15b1c1eaaefd14#diff-5e01f7d37a66e4ca03deefc205d8e7008661cdd0284a05aaba1858e6b7bf9103R2) | [TonyJiangWJ](https://github.com/TonyJiangWJ) | `2019/11/21` | - | | [AutoX](https://github.com/kkevsekk1/AutoX) | [Autox.js](https://github.com/kkevsekk1/AutoX/commit/8143e4ed893d4af05d22aa791b83a962f9959873#diff-5e01f7d37a66e4ca03deefc205d8e7008661cdd0284a05aaba1858e6b7bf9103R2) | [kkevsekk1](https://github.com/kkevsekk1) | `2020/07/24` | - | | [Auto.js Pro 9](https://pro.autojs.org/) | AutoJsPro | [hyb1996](https://github.com/hyb1996) | `2021/03/28` | `2023/02/09` | | [AutoJs6](https://github.com/SuperMonster003/AutoJs6) | [AutoJs6](https://github.com/SuperMonster003/AutoJs6/commit/a8ce1b9acb541e9736c33134be3194c3148a15a3#diff-833a46a97033e77558372a2dce103fd6fee29aaaa899f610022a7aece592ee7bR27) | [SuperMonster003](https://github.com/SuperMonster003) | `2021/12/01` | - | | [AutoX](https://github.com/kkevsekk1/AutoX) | [Autox.js v6](https://github.com/kkevsekk1/AutoX/commit/8b6776cff8b0fca4be4a52719b7d7d07c0a058f3#diff-51a0b488f963eb0be6c6599bf5df497313877cf5bdff3950807373912ac1cdc9R130) | [wilinz](https://github.com/wilinz) | `2022/05/26` | - | | [AutoX](https://github.com/kkevsekk1/AutoX) | [Autox.js v7](https://github.com/kkevsekk1/AutoX/commit/484491fd5fe12b8203d0b09c181eb0f471c0ea9f#diff-8cff73265af19c059547b76aca8882cbaa3209291406f52df1dafbbc78e80c46R120) | [aiselp](https://github.com/aiselp) | `2024/04/21` | - | 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. ****** ### 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](https://developer.android.com/reference/android/accessibilityservice/AccessibilityService) * 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](https://developer.android.com/training/testing/ui-automator)) * 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](https://zh.wikipedia.org/wiki/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](http://vscext-project.autojs6.com)) ****** ### Entorno ****** - Sistema operativo Android - [API](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) [24](https://developer.android.com/reference/android/os/Build.VERSION_CODES#N) ([7.0](https://zh.wikipedia.org/wiki/Android_Nougat)) [[N](https://developer.android.com/reference/android/os/Build.VERSION_CODES#N)] o superior ****** ### Manual ****** * [Documentación de la aplicación](https://docs.autojs6.com) * [Manual del usuario (Por escribir)](https://docs.autojs6.com/#/manual) * [Solución de problemas](https://docs.autojs6.com/#/qa) * [Compilación y construcción del proyecto](#project-compilation-and-build) * [Asistencia en el desarrollo de scripts](#script-development-assistance) ****** ### 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](https://shizuku.rikka.app/introduction/) y usar las API del sistema * Soporte para construir instancias de [WebSocket](https://docs.autojs6.com/#/webSocketType) para realizar solicitudes de red basadas en el [protocolo WebSocket](https://zh.wikipedia.org/wiki/WebSocket) * Nuevos módulos [ [base64](https://docs.autojs6.com/#/base64) / [crypto](https://docs.autojs6.com/#/crypto) / [sqlite](https://docs.autojs6.com/#/sqlite) / [i18n](https://docs.autojs6.com/#/i18n) / [notice](https://docs.autojs6.com/#/notice) / [ocr](https://docs.autojs6.com/#/ocr) / [opencc](https://docs.autojs6.com/#/opencc) / [qrcode](https://docs.autojs6.com/#/qrcode) / [shizuku](https://docs.autojs6.com/#/shizuku) / ... ] * Soporte multilingüe [Español / Francés / Ruso / Árabe / Japonés / Coreano / Inglés / Chino Simplificado / Chino Tradicional / ...] * 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](http://vscext-project.autojs6.com) soporta conexiones cliente (LAN) y servidor (LAN/ADB) * El motor [Rhino](https://github.com/mozilla/rhino/) se ha actualizado de [v1.7.7.2](https://github.com/mozilla/rhino/releases/tag/Rhino1_7_7_2_Release) a [v1.7.16-SNAPSHOT](http://rhino.autojs6.com/blob/master/gradle.properties#L3) * Soporte para secuencias de escape de [puntos de código](https://developer.mozilla.org/zh-CN/docs/Glossary/Code_point) Unicode [ plano suplementario](https://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%B9%B3%E9%9D%A2%E6%98%A0%E5%B0%84#%E7%AC%AC%E4%B8%80%E8%BC%94%E5%8A%A9%E5%B9%B3%E9%9D%A2) ```javascript '\u{1D160}'; /* significa "𝅘𝅥𝅮", método tradicional: '\uD834\uDD60'. */ ``` * Soporte para [Object.values()](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/values) ```javascript Object.values({name: 'Max', age: 4}); // ['max', 4] ``` * Soporte para [Array.prototype.includes()](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/includes) ```javascript [10, 20, NaN].includes(20); // true ``` * Soporte para [BigInt](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/BigInt) ```javascript typeof 567n === 'bigint'; // true ``` * Soporte para [plantillas de cadena](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Template_literals) ```javascript `Lucky number: ${(Math.random() * 100).toFixed(0)}` ``` * Consulta [más características nuevas](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/RHINO.md) del motor Rhino * Consulta la [lista de compatibilidad](https://mozilla.github.io/rhino/compat/engines.html) del motor Rhino ****** ### Historial de versiones ****** # v6.6.0 ###### 2024/12/02 - Reescritura de módulos integrados, actualización con precaución * `Sugerencia` Los módulos integrados se reescriben en Kotlin para mejorar la eficiencia de ejecución del script, pero se necesitan mejoras iterativas. * `Sugerencia` El archivo init.js integrado está vacío por defecto, lo que permite a los desarrolladores ampliar los módulos integrados o montar módulos externos. * `Nuevo` Módulo Axios / Módulo Cheerio (Ref a [AutoX](https://github.com/kkevsekk1/AutoX)) * `Nuevo` Módulo SQLite para operaciones simples en bases de datos SQLite (Ref a [Auto.js Pro](https://g.pro.autojs.org/)) (Consulte la documentación del proyecto > [SQLite](https://docs.autojs6.com/#/sqlite)) * `Nuevo` Módulo MIME para procesamiento y análisis de cadenas de tipos MIME (Consulte la documentación del proyecto > [MIME](https://docs.autojs6.com/#/mime)) * `Nuevo` Módulo Nanoid para generación de ID de cadenas (Ref a [ai/nanoid](https://github.com/ai/nanoid)) * `Nuevo` Módulo Sysprops para obtener datos de configuración del entorno de ejecución (Consulte la documentación del proyecto > [Propiedades del sistema](https://docs.autojs6.com/#/sysprops)) * `Nuevo` El módulo OCR admite el motor [Rapid OCR](https://github.com/RapidAI/RapidOCR) * `Nuevo` El análisis de diseño admite el cambio de ventanas (Ref a [Auto.js Pro](https://g.pro.autojs.org/)) * `Nuevo` El método auto.clearCache admite la limpieza de cachés de control (Ref a [Auto.js Pro](https://g.pro.autojs.org/)) * `Nuevo` El método threads.pool admite la aplicación simple de grupos de hilos (Ref a [Auto.js Pro](https://g.pro.autojs.org/)) * `Nuevo` El método images.matchTemplate agrega el parámetro de opción useTransparentMask para soportar la búsqueda de imágenes transparentes (Ref a [Auto.js Pro](https://g.pro.autojs.org/)) * `Nuevo` El método images.requestScreenCaptureAsync se usa para solicitar permisos de captura de pantalla de manera asíncrona en el modo UI (Ref a [Auto.js Pro](https://g.pro.autojs.org/)) * `Nuevo` El método images.requestScreenCapture agrega el parámetro de opción isAsync para soportar la captura de pantalla de manera asíncrona (Ref a [Auto.js Pro](https://g.pro.autojs.org/)) * `Nuevo` images.on('screen_capture', callback) y otros métodos de escucha de eventos admiten la escucha de eventos de disponibilidad de captura de pantalla (Ref a [Auto.js Pro](https://g.pro.autojs.org/)) * `Nuevo` El método images.stopScreenCapture soporta la liberación activa de recursos relacionados con la aplicación de captura de pantalla (Ref a [Auto.js Pro](https://g.pro.autojs.org/)) * `Nuevo` Los métodos Images.psnr/mse/ssim/mssim/hist/ncc y images.getSimilarity se utilizan para obtener métricas de similitud de imágenes * `Nuevo` El método images.isGrayscale se utiliza para determinar si una imagen es en escala de grises * `Nuevo` El método images.invert se utiliza para la conversión de imagen en negativo * `Nuevo` Los métodos s13n.point/time se utilizan para estandarizar objetos de punto y objetos de duración (Consulte la documentación del proyecto > [Normalización](https://docs.autojs6.com/#/s13n)) * `Nuevo` Los métodos gravity, touchThrough, backgroundTint del módulo console (Consulte la documentación del proyecto > [Consola](https://docs.autojs6.com/#/console)) * `Nuevo` Los métodos Mathx.randomInt/Mathx.randomFloat se utilizan para devolver enteros aleatorios o números de coma flotante aleatorios dentro de un rango especificado * `Nuevo` Los métodos app.launchDual/startDualActivity se utilizan para manejar el lanzamiento dual de aplicaciones (Requiere permisos de Shizuku o Root) (Experimental) * `Nuevo` El método app.kill se utiliza para detener forzosamente una aplicación (Requiere permisos de Shizuku o Root) * `Nuevo` El método floaty.getClip se utiliza para obtener indirectamente el contenido del portapapeles mediante una ventana flotante * `Corrección` Fuga de memoria en el View Binding de subclases de Fragment (por ejemplo, [DrawerFragment](https://github.com/SuperMonster003/AutoJs6/blob/17616504ab0bba93b30ab7abc67108ee5253f39a/app/src/main/java/org/autojs/autojs/ui/main/drawer/DrawerFragment.kt#L369) / [ExplorerFragment](https://github.com/SuperMonster003/AutoJs6/blob/17616504ab0bba93b30ab7abc67108ee5253f39a/app/src/main/java/org/autojs/autojs/ui/main/scripts/ExplorerFragment.kt#L48)) * `Corrección` Fuga de memoria de instancia en clases como [ScreenCapture](https://github.com/SuperMonster003/AutoJs6/blob/17616504ab0bba93b30ab7abc67108ee5253f39a/app/src/main/java/org/autojs/autojs/core/image/capture/ScreenCapturer.java#L70) / [ThemeColorPreference](https://github.com/SuperMonster003/AutoJs6/blob/10960ddbee71f75ef80907ad5b6ab42f3e1bf31e/app/src/main/java/org/autojs/autojs/ui/settings/ThemeColorPreference.kt#L21) * `Corrección` Problema que causa que la aplicación se bloquee al solicitar permisos de captura de pantalla en Android 14+ (por [chenguangming](https://github.com/chenguangming)) _[`pr #242`](http://pr.autojs6.com/242)_ * `Corrección` Problema que causa que la aplicación se bloquee al iniciar el servicio en primer plano en Android 14+ * `Corrección` Problema con el botón de ejecución en el editor de código que no se enciende correctamente en Android 14+ * `Corrección` La aplicación puede no funcionar correctamente después de empaquetar debido a la falta de archivos de biblioteca necesarios _[`issue #202`](http://issues.autojs6.com/202)_ _[`issue #223`](http://issues.autojs6.com/223)_ _[`pr #264`](http://pr.autojs6.com/264)_ * `Corrección` Bloqueo de la aplicación cuando se edita el proyecto debido a recursos de icono especificados que faltan _[`issue #203`](http://issues.autojs6.com/203)_ * `Corrección` Incapacidad para usar parámetros adecuadamente para obtener recursos de captura de pantalla de orientación de pantalla especificada al solicitar permisos de captura de pantalla * `Corrección` Problema con algunos dispositivos que no pueden agregar accesos directos de script correctamente (Reparación de prueba) _[`issue #221`](http://issues.autojs6.com/221)_ * `Corrección` Problema de retraso acumulativo en el envío de solicitudes con métodos relacionados con el envío de solicitudes en el módulo http _[`issue #192`](http://issues.autojs6.com/192)_ * `Corrección` El servicio Shizuku puede no funcionar correctamente antes de que AutoJs6 entre en la página de actividad principal (Reparación de prueba) _[`issue #255`](http://issues.autojs6.com/255)_ * `Corrección` El método random(min, max) puede tener resultados fuera de límites * `Corrección` Problema donde el tipo de parámetro de resultado de los métodos pickup no puede pasar adecuadamente matrices vacías * `Corrección` Problema donde el rectángulo de control obtenido por UiObject#bounds() puede ser modificado inadvertidamente, rompiendo su inmutabilidad * `Corrección` Problema con elementos de texto/botón/entrada donde el texto que contiene comillas dobles de ancho medio no puede ser analizado correctamente * `Corrección` Problema con elementos de text/textswitcher donde la funcionalidad del atributo autoLink falla * `Corrección` Problema con diferentes scripts que comparten erróneamente el mismo objeto ScriptRuntime * `Corrección` Problema con variables globales HEIGHT y WIDTH perdiendo propiedades Getter generadas dinámicamente * `Corrección` Problema con un alto tiempo de inicio potencial causado por la carga de RootShell al iniciar un script * `Corrección` Problema con la configuración del color de fondo de la ventana flotante de la consola que conduce a la pérdida del estilo de redondeo rectangular * `Corrección` El inicio automático del servicio de accesibilidad puede encontrar problemas de servicio anormales (Reparación de prueba) * `Corrección` Problema con el desencadenante de ViewPager al deslizar el control WebView a la izquierda o derecha en la página de documentos de la página principal * `Corrección` Problema donde el administrador de archivos no puede reconocer extensiones de archivo que contienen letras mayúsculas * `Corrección` El administrador de archivos puede no reconocer automáticamente el proyecto al ingresar por primera vez al directorio del proyecto * `Corrección` Problema donde la página del administrador de archivos no puede refrescarse automáticamente después de eliminar la carpeta * `Corrección` Problema con la clasificación de archivos y carpetas en el administrador de archivos donde los nombres de letra inicial ASCII se colocan detrás * `Corrección` Excepción 'FAILED ASSERTION' en la función de depuración del editor de código * `Corrección` Problema con la imposibilidad de volver a depurar adecuadamente después de cerrar el editor durante el proceso de depuración del editor de código * `Corrección` Problema de omisión potencial de caracteres finales al saltar al final de la línea en el editor de código * `Corrección` Problema con la pantalla parpadeante al iniciar la página de actividad de registro en la página de actividad principal * `Corrección` Problema con la aplicación empaquetada que no puede utilizar adecuadamente el módulo opencc * `Mejora` Experiencia de aviso de clic para el control 'ABI no disponible' en la página de paquete * `Mejora` Admite el uso de Shizuku para controlar el interruptor de visualización 'Ubicación del puntero' * `Mejora` Admite el uso de Shizuku para controlar los interruptores de permisos 'Medios de proyección' y 'Modificar configuraciones seguras' * `Mejora` Automator.gestureAsync/gesturesAsync admite parámetros de función de devolución de llamada * `Mejora` El módulo tasks utiliza una forma síncrona para las operaciones de base de datos para evitar inconsistencias potenciales de acceso a datos * `Mejora` El modo de ejecución de script admite parámetros de separación de modo con símbolo de tubería (por ejemplo, comenzando con `"ui|auto";`) * `Mejora` El modo de ejecución de script admite comillas simples y comillas invertidas y permite omitir puntos y comas (por ejemplo, comenzando con `'ui';` o `'ui'`) * `Mejora` El modo de ejecución de script admite la importación rápida de módulos de extensión integrados como axios, cheerio y dayjs (por ejemplo, comenzando con `"axios";`) * `Mejora` El modo de ejecución de script admite parámetros de modo x o jsox para habilitar rápidamente los módulos de extensión de objetos integrados de JavaScript (por ejemplo, comenzando con `"x";`) * `Mejora` Los atributos src y path del elemento img admiten rutas relativas locales (por ejemplo, `) * `Mejora` El editor de código admite la determinación inteligente de la ubicación de inserción al importar clases Java y nombres de paquetes * `Mejora` El módulo images admite el uso de rutas directamente como parámetros de imagen * `Mejora` importPackage admite parámetros de cadena * `Mejora` La dirección IP del modo servidor admite la importación del portapapeles con reconocimiento inteligente y conversión inteligente con la tecla de espacio * `Mejora` El administrador de archivos admite la selección de prefijos predeterminados al crear nuevos archivos y genera automáticamente el sufijo numérico apropiado * `Mejora` El administrador de archivos informa específicamente sobre el mensaje de excepción al ejecutar el proyecto _[`issue #268`](http://issues.autojs6.com/268)_ * `Mejora` El administrador de archivos admite más tipos y muestra símbolos de icono correspondientes (admite más de 800 tipos de archivos) * `Mejora` Los tipos de archivos editables (jpg/doc/pdf, etc.) en el administrador de archivos han añadido botones de edición * `Mejora` Los archivos APK en el administrador de archivos admiten la visualización de información básica, información de Manifesto y lista de permisos * `Mejora` Los archivos de medios de audio/video en el administrador de archivos admiten la visualización de información básica e información de MediaInfo * `Mejora` El paquete de archivo único admite el autocompletado de nombre de paquete estandarizado apropiado y el aviso de filtro de caracteres no válidos * `Mejora` El paquete de archivo único admite la configuración automática del ícono y el incremento automático del número de versión y del nombre de versión basado en la misma aplicación de nombre de paquete instalada * `Mejora` El archivo de configuración del paquete admite la opción abis/libs para especificar la arquitectura ABI incluidos por defecto y las bibliotecas * `Mejora` Admite avisos de mensajes relevantes cuando las opciones abis/libs del archivo de configuración del paquete son inválidas o no están disponibles * `Mejora` LeakCanary se excluye de la versión oficial para evitar un crecimiento innecesario * `Mejora` Todos los comentarios en inglés en el código fuente del proyecto vienen acompañados de traducciones al chino simplificado para mejorar la legibilidad * `Mejora` README y CHANGELOG admiten varios idiomas (Generado automáticamente por el script) * `Mejora` Mejorar la adaptabilidad de la versión del script de construcción de Gradle * `Mejora` Ajustes en algunas dependencias o versiones de bibliotecas locales _[`CHANGELOG.md`](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG.md#v660)_ # v6.5.0 ###### 2023/12/02 * `Nuevo` Módulo opencc (Consulte Documentación del proyecto > [Conversión China](https://docs.autojs6.com/#/opencc)) (Ref a [LZX284](https://github.com/SuperMonster003/AutoJs6/pull/187/files#diff-8cff73265af19c059547b76aca8882cbaa3209291406f52df1dafbbc78e80c46R268)) * `Nuevo` Métodos [plus](https://docs.autojs6.com/#/uiObjectType?id=m-plus) y [append](https://docs.autojs6.com/#/uiObjectType?id=m-append) agregados a UiSelector _[`issue #115`](http://issues.autojs6.com/115)_ * `Nuevo` Página de empaquetado de aplicaciones añade soporte para filtrado de ABI y bibliotecas (Ref a [AutoX](https://github.com/kkevsekk1/AutoX)) _[`issue #189`](http://issues.autojs6.com/189)_ * `Corrección` Problema de tamaño anormalmente grande del archivo empaquetado (Ref a [AutoX](https://github.com/kkevsekk1/AutoX) / [LZX284](https://github.com/SuperMonster003/AutoJs6/pull/187/files#diff-d932ac49867d4610f8eeb21b59306e8e923d016cbca192b254caebd829198856R61)) _[`issue #176`](http://issues.autojs6.com/176)_ * `Corrección` Problema en el que el paquete de la aplicación no muestra o imprime ciertos mensajes de error * `Corrección` Problema de ícono vacío después de seleccionar el ícono de la aplicación en la página de empaquetado * `Corrección` Problema de excepción de contexto no inicializado al incluir la biblioteca OCR de Google MLKit en el paquete * `Corrección` Problema de métodos inoperativos ocr.mlkit/ocr.recognizeText/detect * `Corrección` Problema en el que algunos textos (como la página de registros) no coinciden con el idioma de configuración de la aplicación * `Corrección` Problema de desbordamiento de texto en el interruptor del cajón de la página de inicio en ciertos idiomas * `Corrección` Problema de servicios de accesibilidad que se cierran inmediatamente sin ningún mensaje en ciertos dispositivos _[`issue #181`](http://issues.autojs6.com/181)_ * `Corrección` Problema de cierres inesperados al usar botones físicos en ciertos dispositivos después de activar el servicio de accesibilidad (solución tentativa) _[`issue #183`](http://issues.autojs6.com/183)_ _[`issue #186`](http://issues.autojs6.com/186#issuecomment-1817307790)_ * `Corrección` Problema de funcionalidad anormal de pickup después de reiniciar el servicio de accesibilidad con auto(true) (solución tentativa) _[`issue #184`](http://issues.autojs6.com/184)_ * `Corrección` Problema de cierre inesperado de la aplicación al arrastrar la ventana flotante creada por el módulo floaty (solución tentativa) * `Corrección` Problema de uso de parámetros abreviados en app.startActivity _[`issue #182`](http://issues.autojs6.com/182)_ _[`issue #188`](http://issues.autojs6.com/188)_ * `Corrección` Problema de conflicto de nombres con importClass que causa una excepción _[`issue #185`](http://issues.autojs6.com/185)_ * `Corrección` Problema de uso inoperativo del servicio de accesibilidad en Android 7.x * `Corrección` Problema de uso inoperativo de runtime.loadJar/loadDex en Android 14 (solución tentativa) * `Corrección` Problema de inoperatibilidad de "análisis de rango de diseño" y "análisis de jerarquía de diseño" en el panel de configuraciones rápidas de Android _[`issue #193`](http://issues.autojs6.com/193)_ * `Corrección` Problema de potencial ANR causado por la función de comprobación automática de actualizaciones (solución tentativa) _[`issue #186`](http://issues.autojs6.com/186)_ * `Corrección` Problema en el gestor de archivos al regresar a la página de ruta de trabajo después de hacer clic en "hacia arriba" en la carpeta de ejemplo * `Corrección` Problema de botón de reemplazo no visible en el editor de código al usar la función de reemplazo * `Corrección` Problema de cierre inesperado de la aplicación al mantener presionado el botón de borrar en el editor de código (solución tentativa) * `Corrección` Problema de panel de funciones rápidas del módulo que no se muestra correctamente al hacer clic en el botón fx en el editor de código * `Corrección` Problema de nombres de funciones de botón de panel de funciones rápidas que se desbordan en el editor de código * `Mejora` El panel rápido de funciones del módulo del editor de código se adapta al modo nocturno. * `Mejora` La página de inicio de la aplicación empaquetada se adapta al modo nocturno y se ajusta el diseño de los iconos de la aplicación. * `Mejora` La página de la aplicación empaquetada admite la navegación del cursor utilizando la tecla ENTER en el teclado de software. * `Mejora` La página de la aplicación empaquetada admite alternar el estado de selección total al hacer clic en los títulos de ABI y librerías. * `Mejora` La selección predeterminada de ABI se realiza de manera inteligente en la página de la aplicación empaquetada con mensajes guía para elementos no seleccionables. * `Mejora` El administrador de archivos ajusta la visualización de los elementos del menú según el tipo y las características de los archivos y carpetas. * `Mejora` El menú de clic derecho en carpetas del administrador de archivos añade una opción para empaquetar aplicaciones. * `Mejora` Cuando los servicios de accesibilidad están habilitados pero funcionan incorrectamente, se refleja un estado de anomalía en el interruptor del cajón de la página de inicio de AutoJs6. * `Mejora` La consola incluye información detallada de la pila al imprimir mensajes de error. * `Mejora` Ajustes en algunas dependencias o versiones de bibliotecas locales _[`CHANGELOG.md`](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG.md#v650)_ # v6.4.2 ###### 2023/11/15 * `Nuevo` Propiedad inputSingleLine añadida a la opción de parámetros de dialogs.build() * `Nuevo` Método console.setTouchable _[`issue #122`](http://issues.autojs6.com/122)_ * `Corrección` Problema de parámetros de área de no reconocimiento en ciertos métodos del módulo ocr _[`issue #162`](http://issues.autojs6.com/162)_ _[`issue #175`](http://issues.autojs6.com/175)_ * `Corrección` Problema de no obtención de detalles de versión al encontrar una nueva versión en Android 7.x * `Corrección` Problema de cierre inesperado de la aplicación al solicitar permisos de captura de pantalla en Android 14 * `Corrección` Problema de cierre inesperado de la aplicación al alternar rápidamente el interruptor de "botón flotante" en el cajón de la página principal * `Corrección` Problema de botón flotante que todavía aparece después de reiniciar la aplicación tras cerrarlo con el menú * `Corrección` Problema de no efectividad para cambiar el idioma de AutoJs6 desde la página de configuraciones del sistema en Android 13 y superior * `Corrección` Problema de despliegue no automático de recursos de OpenCV al construir herramientas por primera vez * `Mejora` Uso del módulo bridges nativo para mejorar la eficiencia de ejecución de scripts (Ref a [aiselp](https://github.com/aiselp/AutoX/commit/7c41af6d2b9b36d00440a9c8b7e971d025f98327)) * `Mejora` Reestructuración del código relacionado con el servicio de accesibilidad para mejorar su estabilidad (experimental) _[`issue #167`](http://issues.autojs6.com/167)_ * `Mejora` Formato de salida del print para UiObject y UiObjectCollection * `Mejora` Sugerencias de actualización de versión en caso de requerimientos de versión no satisfechos en el entorno de construcción Gradle JDK * `Mejora` Ajustes en algunas dependencias o versiones de bibliotecas locales _[`CHANGELOG.md`](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG.md#v642)_ ##### Para más historial de versiones, consulte * [CHANGELOG.md](http://changelog.autojs6.com) ****** ### Compilación y construcción del proyecto ****** Para depurar o desarrollar el proyecto de código abierto AutoJs6, puedes usar [Android Studio](https://pro.autojs.org/) (producto de [Google](https://www.google.com/)) o [IntelliJ IDEA](https://www.jetbrains.com/idea/) (producto de [JetBrains](https://www.jetbrains.com/)). 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 Ladybug | 2024.2.1 Patch 2` (elige una según tus necesidades): - [android-studio-2024.2.1.11-windows.exe](https://redirector.gvt1.com/edgedl/android/studio/install/2024.2.1.11/android-studio-2024.2.1.11-windows.exe) (1.13 GB) - [android-studio-2024.2.1.11-windows.zip](https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2024.2.1.11/android-studio-2024.2.1.11-windows.zip) (1.14 GB) > Nota: La fecha de lanzamiento de la versión anterior es el 31 de October de 2024. Para descargar otras versiones, o si los enlaces anteriores ya no funcionan, puedes visitar la página del [Archivo de versiones de Android Studio](https://developer.android.com/studio/archive?hl=en). 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. En el software Android Studio, abre la página de configuración con el atajo de teclado `CTRL + ALT + S`: ```text 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. En el software Android Studio, abre la página de configuración con el atajo de teclado `CTRL + ALT + S`: ```text 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 `19`. Hasta el 4 de December de 2024, AutoJs6 soporta hasta la versión `23` 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](https://www.oracle.com/java/technologies/downloads/). En el software Android Studio, abre la página de configuración con el atajo de teclado `CTRL + ALT + S`: ```text Build, Execution, Deployment (Compilación, ejecución, 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)](https://git-scm.com/download). #### 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). Una vez que la construcción se complete, la pestaña `Build` de Android Studio mostrará un mensaje similar a `BUILD SUCCESSFUL in 1h 17m 34s`. Empaque el proyecto y genere un archivo APK que se puede instalar en dispositivos Android: - 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\"` > Consultar: [Android Docs](https://developer.android.com/studio/run?hl=zh-cn) ****** ### Asistencia en el desarrollo de scripts ****** Para desarrollar scripts ejecutables en AutoJs6, utiliza las herramientas de desarrollo adecuadas: - [VSCode](https://code.visualstudio.com/download) / [WebStorm](https://www.jetbrains.com/webstorm/download/) / [HBuilderX](https://www.dcloud.io/hbuilderx.html) ... Para escribir y depurar scripts en PC, el complemento de VSCode puede conectar el PC y el teléfono: - [AutoJs6-VSCode-Extension](http://vscext-project.autojs6.com) - 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](http://dts-project.autojs6.com) - 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](http://docs-project.autojs6.com) - 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](https://github.com/TonyJiangWJ/Ant-Forest) - Script de recolección automática de energía de Ant Forest por [TonyJiangWJ](https://github.com/TonyJiangWJ) - [Ant-Forest](https://github.com/SuperMonster003/Ant-Forest) - Script de recolección automática de energía de Ant Forest por [SuperMonster003](https://github.com/SuperMonster003) - [autojs](https://github.com/e1399579/autojs) - Scripts útiles de Auto.js por [e1399579](https://github.com/e1399579) - [autojsDemo](https://github.com/snailuncle/autojsDemo) - Ejemplo de demostración de Auto.js por [snailuncle](https://github.com/snailuncle) - [Repositorios relacionados con autojs](https://github.com/topics/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 | |:----------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------:| | [kvii](https://github.com/kvii) | [1](https://github.com/SuperMonster003/AutoJs6/commits?author=kvii) | `2024/10/16` | | [chenguangming](https://github.com/chenguangming) | [2](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+author%3Achenguangming) | `2024/05/14` | | [LZX284](https://github.com/LZX284) | [17](https://github.com/SuperMonster003/AutoJs6/commits?author=LZX284) | `2023/11/19` | | [TonyJiangWJ](https://github.com/TonyJiangWJ) | [4](https://github.com/SuperMonster003/AutoJs6/commits?author=TonyJiangWJ) | `2023/10/31` | | [little‑alei](https://github.com/little-alei) | [12](https://github.com/SuperMonster003/AutoJs6/commits?author=little-alei) | `2023/07/12` | | [aiselp](https://github.com/aiselp) | [6](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+author%3Aaiselp) | `2023/06/14` | | [LYS86](https://github.com/LYS86) | [2](https://github.com/SuperMonster003/AutoJs6/commits?author=LYS86) | `2023/06/03` | Datos actualizados el 23 de October de 2024. 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](https://github.com/SuperMonster003/AutoJs6/graphs/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](https://github.com/SuperMonster003/AutoJs6/pulls). [//]: # ( # --------------------------------------------------------------# # Before committing and pushing to the remote GitHub repository # # --------------------------------------------------------------# - CHANGELOG.md - Update entries for AutoJs6 by checking all changed files - Update entries for Gradle plugins [ implementation ] - Update version name and released date - Append related GitHub issues to changelog entries - README.md - The summary of the latest changelog for committing to Git [ DO NOT commit or push ] - Update badges like [ android studio / rhino / ... ] - Update android studio download links and version names - Update contribution section - Remove the part like [ alpha / beta / ... ] of VERSION_NAME in version.properties - Update dependencies TypeScript declarations if needed. - Re-generate documentation by running the python script - Check the two-way versions for AutoJs6 and VSCode ext, then publish the ext to Microsoft - Run Gradle task "app:assembleInrtRelease" - Build APK to determine the final VERSION_BUILD field - Run Gradle task "app:appendDigestToReleasedFiles" - Commit and push to GitHub - Publish the latest release with signed APKs )