Files
AutoJs6/.readme/README-es.md
2025-05-02 11:03:46 +08:00

57 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
Rhino Android Studio
CodeFactor Grade 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 Desarrollador Fecha de inicio del desarrollo Fecha de finalización del desarrollo
Auto.js Auto.js hyb1996 2017/01/27 2020/03/13
Auto.js Pro 7 Auto.js hyb1996 2019/03/13 2019/07/08
Auto.js Pro 8 AutoJsPro hyb1996 2019/10/13 2021/07/24
Auto.js Auto.js M TonyJiangWJ 2019/11/21 -
AutoX Autox.js kkevsekk1 2020/07/24 -
Auto.js Pro 9 AutoJsPro hyb1996 2021/03/28 2023/02/09
AutoJs6 AutoJs6 SuperMonster003 2021/12/01 -
AutoX Autox.js v6 wilinz 2022/05/26 -
AutoX Autox.js v7 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
  • 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 v1.8.1-SNAPSHOT

Historial de versiones


v6.6.2

2025/04/16
  • Nuevo Métodos como ui.statusBarAppearanceLight, statusBarAppearanceLightBy y navigationBarColor, etc.
  • Nuevo Atributo ui.statusBarHeight (getter), utilizado para obtener la altura de la barra de estado issue #357
  • Nuevo Método images.flip para voltear imágenes issue #349
  • Nuevo Se añadió la opción 'extensión de archivo' en la página de configuración
  • Nuevo La página de configuración del color del tema añade soporte para nuevos diseños (agrupación, posicionamiento, búsqueda, historial, mejora del selector de color, etc.)
  • Corrección Problema en el que el color de fondo de la barra de estado de Android 15 no coincide con el color del tema
  • Corrección Problema en el que el método plugins.load no carga correctamente los plugins issue #290
  • Corrección Problema en el que la biblioteca dx no funciona correctamente en Android 7.x issue #293
  • Corrección Problema en el que ScriptRuntime puede presentar un estado de sincronización anómalo al utilizar require para importar módulos integrados (solución tentativa) issue #298
  • Corrección Problema en el que el módulo notice carece de métodos de extensión como getBuilder issue #301
  • Corrección Problema en el que los métodos shizuku/shell no aceptan parámetros de tipo cadena issue #310
  • Corrección Problema en el que el método colors.pixel no acepta parámetros con imágenes de un solo canal issue #350
  • Corrección Problema en el que los métodos engines.execScript / execScriptFile asignan de forma anómala el directorio de trabajo predeterminado al ejecutar scripts issue #358 issue #340 issue #339
  • Corrección Problema en el que floaty.window / floaty.rawWindow no puede ejecutarse en subprocesos
  • Corrección Problema en el que floaty.getClip puede no obtener correctamente el contenido del portapapeles issue #341
  • Corrección Problema en el que el retorno de ui.inflate pierde métodos de prototipo como attr, on y click
  • Corrección Problema en el que se produce un enlace incorrecto del contexto de ámbito al utilizar la sintaxis XML para usar una expresión JavaScript como valor de atributo issue #319
  • Corrección Problema en el que algunas llamadas a métodos, al producir excepciones, no son capturadas por bloques try..catch issue #345
  • Corrección Problema en el que la generación de código en la página de análisis de layouts puede provocar que la aplicación se bloquee issue #288
  • Corrección Problema en el que las aplicaciones empaquetadas no pueden utilizar correctamente el módulo shizuku issue #227 issue #231 issue #284 issue #287 issue #304
  • Corrección Problema en el que el editor de código, al saltar al final de una línea, puede mover el cursor al inicio de la siguiente línea
  • Corrección Problema en el que pulsaciones rápidas consecutivas en elementos tipo diálogo de la página de configuración pueden provocar que la aplicación se bloquee
  • Mejora Optimización del tamaño del archivo APK en la plantilla de aplicaciones empaquetadas
  • Mejora La aplicación (y las aplicaciones empaquetadas) ahora soportan más permisos issue #338
  • Mejora La página de empaquetado añade la opción para la biblioteca Pinyin
  • Mejora Optimización del fondo de la barra de estado y del color del texto en la página principal de la aplicación empaquetada
  • Mejora La página de configuración de la aplicación empaquetada añade interruptores para permisos especiales (acceso a todos los archivos y envío de notificaciones) issue #354
  • Mejora Los textos e iconos de los controles cambian automáticamente a un color adecuado en función de la luminosidad del tema
  • Mejora Mejora en la experiencia visual cuando el contraste entre el color del tema de un control y su fondo es bajo
  • Mejora Mejora en la compatibilidad del control de entrada HEX en la paleta de colores al pegar valores desde el portapapeles
  • Mejora La barra de navegación de la aplicación se configura para ser transparente o semi-transparente y así mejorar la experiencia visual
  • Mejora El modo UI por defecto de la barra de estado y de la barra de navegación se establece en el color md_grey_50 en modo claro
  • Mejora El interruptor del servicio de accesibilidad en el cajón de la página principal ahora se sincroniza con el código del script
  • Mejora La página de documentación de la página principal ahora soporta botones de búsqueda bidireccionales
  • Mejora La pestaña 'Archivos' de la página principal permite cambiar la visibilidad del botón flotante mediante pulsación prolongada
  • Mejora El título del editor de código ahora soporta el ajuste automático del tamaño de la fuente
  • Mejora La visibilidad del botón flotante en la página de registros se vincula a las acciones de desplazamiento de la lista
  • Mejora El archivo de configuración project.json del proyecto de script ahora soporta más opciones de empaquetado issue #305 issue #306
  • Mejora El archivo project.json ahora admite coincidencia flexible de nombres de opción y compatibilidad con alias
  • Mejora El diálogo de información de tipo de archivo APK ahora incluye el tamaño del archivo y la información del esquema de firma
  • Mejora El diálogo de información de tipo de archivo APK ahora admite escuchas de clic para copiar texto y navegar a los detalles de la aplicación
  • Mejora Intento de restaurar los paquetes con prefijo com.stardust para mejorar la compatibilidad del código issue #290
  • Mejora Los métodos floaty.window / floaty.rawWindow ahora soportan la ejecución tanto en el hilo principal como en hilos secundarios
  • Mejora El método global getClip ahora utiliza floaty.getClip según sea necesario para mejorar la compatibilidad
  • Mejora Mejora en la compatibilidad de files.path y métodos relacionados al recibir rutas nulas
  • Mejora Sincronización con la última versión oficial del motor Rhino y adaptación necesaria del código
  • Mejora Mejoras en el README.md para documentar la construcción y ejecución del proyecto issue #344
  • Mejora Ajustes en algunas dependencias o versiones de bibliotecas locales CHANGELOG.md

v6.6.1

2025/01/01
  • Nuevo Módulo Pinyin para la conversión de pinyin en chino (Consulte la documentación del proyecto > Pinyin chino)
  • Nuevo Módulo Pinyin4j para la conversión de pinyin en chino (Consulte la documentación del proyecto > Pinyin chino)
  • Nuevo Métodos UiObject#isSimilar y UiObjectCollection#isSimilar para determinar si un control o una colección de controles son similares
  • Nuevo Método global "currentComponent", utilizado para obtener el nombre del componente activo actual
  • Corrección Problema donde no se podía compilar correctamente el proyecto en determinados entornos debido a una reversión a una versión anterior
  • Corrección Excepción de "valor no primitivo" que puede ocurrir al llamar a métodos inexistentes
  • Corrección Problema donde los accesos directos de scripts no se podían agregar correctamente en algunos dispositivos (arreglo tentativa) issue #221
  • Corrección Restricción de tipo de parámetro incorrecta en los métodos automator.click/longClick issue #275
  • Corrección Problema donde los selectores no admitían parámetros del tipo ConsString issue #277
  • Corrección Problema donde las instancias de UiObjectCollection carecían de métodos y propiedades propios
  • Mejora La página de empaquetado admite configuración de firma, gestión de almacenes de claves y configuración de permisos (por luckyloogn) pr #286
  • Mejora Mejorada la precisión en la identificación del nombre del paquete y de la actividad actual de la ventana flotante (Prioridad: Shizuku > Root > A11Y)
  • Mejora Mejorada la precisión en la identificación de currentPackage y currentActivity (Prioridad: Shizuku > Root > A11Y)
  • Mejora Restaurar la capacidad de seleccionar el contenido del texto de entradas individuales en la ventana de actividad del registro mediante doble clic o pulsación larga issue #280
  • Mejora Recuperar la mayor cantidad de información crítica posible para proyectos de scripts cuando el archivo project.json está dañado
  • Mejora Convertir automáticamente chino simplificado a Pinyin (incluyendo caracteres con múltiples tonos) para los sufijos de nombres de paquetes generados al empaquetar archivos individuales
  • Mejora Soporte para argumentos negativos en los métodos UiSelector#findOnce y UiSelector#find
  • Mejora Se mejoró la adaptabilidad de los métodos app.startActivity/startDualActivity
  • Mejora Mayor soporte para formas abreviadas de prefijos de nombres de paquetes en selectores relacionados con elementos UI y className (por ejemplo, RecyclerView, Snackbar, etc.)
  • Mejora Sincronizar el código más reciente del upstream del motor Rhino y adaptarlo al proyecto existente
  • Mejora Ajustes en algunas dependencias o versiones de bibliotecas locales CHANGELOG.md

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)
  • Nuevo Módulo SQLite para operaciones simples en bases de datos SQLite (Ref a Auto.js Pro) (Consulte la documentación del proyecto > SQLite)
  • Nuevo Módulo MIME para procesamiento y análisis de cadenas de tipos MIME (Consulte la documentación del proyecto > MIME)
  • Nuevo Módulo Nanoid para generación de ID de cadenas (Ref a 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)
  • Nuevo El módulo OCR admite el motor Rapid OCR
  • Nuevo El análisis de diseño admite el cambio de ventanas (Ref a Auto.js Pro)
  • Nuevo El método auto.clearCache admite la limpieza de cachés de control (Ref a Auto.js Pro)
  • Nuevo El método threads.pool admite la aplicación simple de grupos de hilos (Ref a Auto.js Pro)
  • 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)
  • 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)
  • 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)
  • 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)
  • 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)
  • 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)
  • Nuevo Los métodos gravity, touchThrough, backgroundTint del módulo console (Consulte la documentación del proyecto > Consola)
  • 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 / ExplorerFragment)
  • Corrección Fuga de memoria de instancia en clases como ScreenCapture / ThemeColorPreference
  • Corrección Problema que causa que la aplicación se bloquee al solicitar permisos de captura de pantalla en Android 14 (por chenguangming) pr #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 issue #223 pr #264
  • Corrección Bloqueo de la aplicación cuando se edita el proyecto debido a recursos de icono especificados que faltan issue #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
  • 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
  • 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
  • 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, <img src="a.png" />)
  • 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
  • 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
Para más 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 Meerkat | 2024.3.1 Patch 1 (elige una según tus necesidades):

Nota: La fecha de lanzamiento de la versión anterior es el 24 de March de 2025. 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.

En el software Android Studio, abre la página de configuración con el atajo de teclado CTRL + ALT + S:

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:

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 2 de May de 2025, AutoJs6 soporta hasta la versión 24 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.

En el software Android Studio, abre la página de configuración con el atajo de teclado CTRL + ALT + S:

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).

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
luckyloogn 3 2025/01/01
kvii 1 2024/10/16
chenguangming (Tom) 2 2024/05/14
LZX284 (AI) 17 2023/11/19
TonyJiangWJ 4 2023/10/31
littlealei (抠脚本人) 12 2023/07/12
aiselp 6 2023/06/14
LYS86 (Lin) 2 2023/06/03

Datos actualizados el 1 de January de 2025.

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.