53 KiB
Outil d'automatisation JavaScript prenant en charge les services d'accessibilité sur la plateforme Android
Langues
Le fichier README.md prend actuellement en charge les langues suivantes:
- 简体中文 [zh-Hans]
- 繁體中文 (香港) [zh-Hant-HK]
- 繁體中文 (台灣) [zh-Hant-TW]
- English [en]
- Français [fr] # actuel
- Español [es]
- 日本語 [ja]
- 한국어 [ko]
- Русский [ru]
- العربية [ar]
Introduction
Auto.js est un outil de développement d'automatisation JavaScript pour la plateforme Android prenant en charge les services d'accessibilité.
Auto.js a été initialement publié par hyb1996 le 27/01/2017, la maintenance a été arrêtée le 13/03/2020, la version finale étant 4.1.1 Alpha2, numéro de construction 461.
AutoJs6 est basé sur le projet final Auto.js et a été développé le 01/12/2021 en maintenant sa gratuité et son open-source.
Le tableau suivant énumère certains projets liés à Auto.js (classés par date de développement):
| Projet | Nom de l'application | Développeur | Date de début de développement | Date de fin de développement |
|---|---|---|---|---|
| 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 |
- |
Les dates dans le tableau sont des estimations et peuvent différer des dates réelles.
Dans le tableau, Auto.js Pro 7/8/9 sont des versions payantes, les autres sont des versions gratuites et open source.
Fonctions
- Peut être utilisé comme un IDE JavaScript (complétion de code / renommage de variables / formattage de code)
- Soutien aux opérations d'automatisation basées sur le service d'accessibilité
- Prise en charge des actions rapides du bouton flottant (enregistrement et exécution de scripts / visualisation du nom du package et de l'activité / analyse de la disposition)
- Prise en charge de l'API sélecteur et traversée/obtention des informations/manipulation des contrôles (similaire à UiAutomator)
- Prise en charge de l'analyse de l'interface de disposition (similaire à l'outil LayoutInspector d'Android Studio)
- Prise en charge des fonctions d'enregistrement et de lecture de l'enregistrement
- Prise en charge des captures d'écran / enregistrement des captures d'écran / détection des couleurs d'image / correspondance d'images
- Prise en charge de E4X (ECMAScript pour XML) pour écrire des interfaces
- Prise en charge de l'emballage des fichiers ou projets de scripts en fichier APK
- Prise en charge des fonctions étendues utilisant les privilèges root (clic d'écran / glissement / enregistrement / Shell)
- Prise en charge en tant que plugin Tasker
- Prise en charge de l'intégration avec VSCode pour le développement de bureau (nécessite l'extension AutoJs6-VSCode-Extension)
Environnement
Manuel
- Documentation de l'application
- Manuel d'utilisation (à rédiger)
- Dépannage
- Compilation et construction du projet
- Assistance au développement de scripts
Modifications majeures
Par rapport à la version finale open source de Auto.js 4.1.1 Alpha2, AutoJs6 a principalement effectué les mises à jour ou modifications suivantes:
- Prise en charge des privilèges ADB via Shizuku pour utiliser les API système
- Prise en charge de la construction d'instances WebSocket pour effectuer des requêtes réseau basées sur le protocole WebSocket
- Nouveaux modules ajoutés [ base64 / crypto / sqlite / i18n / notice / ocr / opencc / qrcode / shizuku / ... ]
- Adaptation multilingue [ Espagnol / Français / Russe / Arabe / Japonais / Coréen / Anglais / Chinois Simplifié / Chinois Traditionnel / ... ]
- Adaptación del color del tema [ Agrupación / Ubicación / Búsqueda / Historial / Adaptación automática de brillo y contraste / ... ]
- Adaptation du mode nuit [ Paramètres / Documentation / Analyse de la disposition / Fenêtre flottante / ... ]
- Prise en charge de l'extension VSCode pour la connexion client (LAN) et serveur (LAN/ADB)
- Le moteur Rhino a été mis à niveau de v1.7.7.2 à v1.8.1-SNAPSHOT
- Échappements pour les points de code Unicode supportent les caractères du plan complémentaire
'\u{1D160}'; /* signifie "𝅘𝅥𝅮", méthode traditionnelle: '\uD834\uDD60'. */ - Prise en charge de Object.values()
Object.values({name: 'Max', age: 4}); // ['max', 4] - Prise en charge de Array.prototype.includes()
[10, 20, NaN].includes(20); // true - Prise en charge de BigInt
typeof 567n === 'bigint'; // true - Prise en charge des littéraux de modèle
`Lucky number: ${(Math.random() * 100).toFixed(0)}` - Voir plus de nouvelles fonctionnalités du moteur Rhino
- Voir la liste de compatibilité du moteur Rhino
- Échappements pour les points de code Unicode supportent les caractères du plan complémentaire
Histoires des versions
v6.6.4
2025/05/31
AstuceChangement d'API : ui.(status/navigation)BarAppearanceLight[By] -> ui.(status/navigation)BarIconLight[By]FonctionnalitéMéthodes util.dpToPx/spToPx/pxToDp/pxToSp pour la conversion d'unités en pixelsCorrectionLes sous-titres peuvent s'afficher de manière incomplète lors du passage en mode paysageCorrectionLe contenu de certaines pages peut être masqué par la barre de navigation latérale en mode paysageCorrectionZone de coloration de fond de la barre d'état incomplète sur certaines pages sous Android 15issue #398CorrectionL'éditeur de code pouvait écrire des fichiers avec un encodage peu fiable, entraînant des erreurs de décodage (tentative de correction)AméliorationAdaptabilité de la mise en page améliorée pour les pages Application et Développeur et suppression des catégories de mise en page inutilesAméliorationDans README.md, section Build, ajout de plusieurs méthodes pour faciliter la localisation de la page de configuration de la cibleissue #404AméliorationCertaines dépendances ou versions de bibliothèques locales ont été ajustéesCHANGELOG.md
v6.6.3
2025/05/27
FonctionnalitéFonction historique des versions : consulter les journaux de mise à jour multilingues et les statistiquesFonctionnalitéMéthode timers.keepAlive (désormais globale) pour maintenir le script actifFonctionnalitéMéthodes d'écoute d'événements telles que engines.on('start/stop/error', callback) pour les événements globaux du moteurFonctionnalitéMéthode images.detectMultiColors pour la vérification de couleurs multipointsissue #374FonctionnalitéMéthodes images.matchFeatures/detectAndComputeFeatures : recherche d'image en pleine résolution (Réf. Auto.js Pro)issue #366FonctionnalitéMéthode images.compressToBytes pour compresser une image et générer un tableau d'octetsFonctionnalitéMéthode images.downsample pour l'échantillonnage de pixels et la création d'un nouveau ImageWrapperFonctionnalitéMéthode ui.keepScreenOn pour garder l'écran allumé lorsque la page UI a le focusFonctionnalitéPropriété ui.root (getter) pour obtenir le nœud « conteneur racine du contenu de fenêtre » du layout UIFonctionnalitéL'élément webview prend en charge les layouts de pages Web basés sur JsBridge (Réf. Auto.js Pro) [voir Code d'exemple > Layout > HTML interactif / Vue2 + Vant (SFC)]issue #281CorrectionLe contenu de la documentation en ligne dans l'onglet Docs et l'activité Docs pouvait être recouvert par la barre de navigation systèmeCorrectionSur certaines pages, cliquer sur les boutons de la Toolbar pouvait déclencher par erreur l'événement de clic sur le titreCorrectionLes lignes vides dans l'éditeur de code affichaient des carrés sur certains appareilsCorrectionLa boîte de dialogue du sélecteur de couleurs dans les paramètres de couleur du thème pouvait se superposer indéfinimentCorrectionLa touche volume + ne stoppait pas tous les scripts lorsque le service d'accessibilité était désactivéCorrectionChevauchement du clavier IME lors de l'édition d'un contenu de diffusion personnalisé dans la page des tâches planifiéesCorrectionLes contrôles dans les éléments webview ne pouvaient pas activer correctement le clavier virtuelCorrectionLa boîte de dialogue d'information APK pouvait ne pas récupérer le nom de l'application ni les informations SDKCorrectionLe code d'exemple du gestionnaire de fichiers pouvait ne pas charger automatiquement le contenu des sous-dossiers à l'entrée d'un répertoire de projetCorrectionLe contenu supérieur du mode UI sous Android 15 était recouvert par la barre d'étatCorrectionLa couleur d'arrière-plan de la barre d'état sur certaines pages Android 15 ne suivait pas dynamiquement la couleur du thèmeCorrectionLe module dialogs ne pouvait pas utiliser la propriété customViewissue #364CorrectionLe paramètre d'expression de dialogs.input pouvait ne pas retourner le résultat d'exécutionCorrectionL'utilisation de JavaAdapter provoquait un débordement de pile ClassLoaderissue #376Correctionconsole.setContentTextColor entraînait la perte de la couleur de texte par défautissue #346Correctionconsole.setContentBackgroundColor n'acceptait pas les noms de couleurissue #384Correctionimages.compress ajuste désormais la qualité d'encodage au lieu de réduire les pixelsCorrectionLa méthode images.resize ne fonctionnait pas correctementCorrectionengines.all pouvait déclencher ConcurrentModificationExceptionissue #394CorrectionFormats de date incorrects dans certaines langues du README.mdCorrectionLa compilation Gradle pouvait échouer à cause d'une longueur invalide d'archive de bibliothèqueissue #389AméliorationL'inspecteur de layout permet de masquer des contrôles (par TonyJiangWJ)pr #371issue #355AméliorationAjout de séparateurs dégradés dans le menu de l'inspecteur de layout pour regrouper les fonctionsAméliorationproject.json prend désormais en charge l'option permissions pour les projets de script (par wirsnow)pr #391issue #362AméliorationLors de l'empaquetage d'un fichier unique, les permissions déclarées par l'application installée sont lues et cochées automatiquementissue #362AméliorationPortée d'adaptation de la couleur de thème élargie et prise en charge de plus de types de widgetsAméliorationLargeur du tiroir d'accueil adaptée aux écrans paysage ou ultra-largesAméliorationAjout de layouts horizontaux et petit écran pour les pages À propos de l'application et DéveloppeurAméliorationLes boîtes de dialogue de la page Paramètres proposent l'option « Utiliser la valeur par défaut »AméliorationLe bouton flottant du gestionnaire de fichiers se masque automatiquement lorsqu'on touche en dehorsAméliorationLe formateur de code prend désormais en charge les opérateurs??,?.,??=AméliorationL'éditeur de code prend en charge la lecture et l'écriture de fichiers aux encodages GB18030 / UTF-16 (LE/BE) / Shift_JIS, etc.AméliorationL'éditeur de code prend en charge l'affichage des informations détaillées du fichier (chemin/encodage/retour à la ligne/nombre total d'octets et de caractères, etc.)issue #395AméliorationAjout de messages d'erreur pour les actions d'intent (éditer / voir / installer / envoyer / lire, etc.)AméliorationL'attribut url de webview prend en charge les chemins relatifsAméliorationLe paramètre path de ImageWrapper#saveTo prend en charge les chemins relatifsAméliorationimages.save permet la compression de fichiers PNG lors de l'utilisation du paramètre qualityissue #367AméliorationPossibilité de vider les enregistrements de mises à jour ignorées et les adresses de connexion en mode clientAméliorationLes informations de mise à jour de version sont affichées dans la langue de l'interfaceAméliorationLe chargement asynchrone améliore la fluidité de défilement du gestionnaire de fichiersAméliorationContenu et format des messages d'exception de script améliorés dans la consoleAméliorationLe code d'exemple permet de réinitialiser un dossier à son contenu initialAméliorationEfficacité accrue lors de la vérification des informations de signature APKAméliorationOptimisation de l'efficacité d'affichage et de présentation des informations pour les fichiers APK/médiasAméliorationLe script de build Gradle améliore sa capacité d'adaptation aux nouvelles versionsdiscussion #369AméliorationCertaines dépendances ou versions de bibliothèques locales ont été ajustéesCHANGELOG.md
v6.6.2
2025/04/16
FonctionnalitéMéthodes telles que ui.statusBarAppearanceLight, statusBarAppearanceLightBy et navigationBarColor, etc.FonctionnalitéAttribut ui.statusBarHeight (getter) servant à obtenir la hauteur de la barre d'étatissue #357FonctionnalitéMéthode images.flip pour retourner une imageissue #349FonctionnalitéAjout de l'option « extension de fichier » dans la page des paramètresFonctionnalitéLa page de configuration du thème prend désormais en charge une nouvelle mise en page (regroupement, positionnement, recherche, historique, amélioration de la palette de couleurs, etc.)CorrectionProblème où la couleur de fond de la barre d'état sur Android 15 ne correspond pas à celle du thèmeCorrectionProblème où la méthode plugins.load ne charge pas correctement les pluginsissue #290CorrectionProblème où la bibliothèque dx ne fonctionne pas correctement sur Android 7.xissue #293CorrectionProblème où ScriptRuntime peut présenter un état de synchronisation anormal lors de l'utilisation de require pour importer des modules intégrés (solution provisoire)issue #298CorrectionProblème où le module notice ne dispose pas des méthodes d'extension telles que getBuilderissue #301CorrectionProblème où les méthodes shizuku/shell n'acceptent pas les paramètres de type chaîneissue #310CorrectionProblème où la méthode colors.pixel n'accepte pas les paramètres d'images à canal uniqueissue #350CorrectionProblème où les méthodes engines.execScript/execScriptFile utilisent un répertoire de travail par défaut incorrect lors de l'exécution des scriptsissue #358issue #340issue #339CorrectionProblème où floaty.window/floaty.rawWindow ne peut pas être exécuté dans un thread secondaireCorrectionProblème où floaty.getClip risque de ne pas récupérer correctement le contenu du presse-papiersissue #341CorrectionProblème où ui.inflate renvoie un résultat auquel il manque les méthodes de prototype telles que attr, on et clickCorrectionProblème où le contexte de portée n'est pas correctement lié lors de l'utilisation de la syntaxe XML pour utiliser une expression JavaScript comme valeur d'attributissue #319CorrectionProblème où certaines exceptions générées lors de l'appel de méthodes ne sont pas capturées par un bloc try..catchissue #345CorrectionProblème où la génération de code dans la page d'analyse de la mise en page peut provoquer un crash de l'applicationissue #288CorrectionProblème où les applications packagées ne peuvent pas utiliser correctement le module shizukuissue #227issue #231issue #284issue #287issue #304CorrectionProblème dans l'éditeur de code où le passage à la fin d'une ligne peut positionner le curseur au début de la ligne suivanteCorrectionProblème où des clics rapides consécutifs sur des éléments de type dialogue dans la page des paramètres peuvent provoquer un crash de l'applicationAméliorationOptimisation de la taille du fichier APK pour le modèle d'application packagéeAméliorationL'application (et les applications packagées) prend désormais en charge davantage de permissionsissue #338AméliorationAjout de l'option pour la bibliothèque Pinyin dans la page de packagingAméliorationOptimisation du fond de la barre d'état et de la couleur du texte dans la page principale des applications packagéesAméliorationAjout d'interrupteurs pour les permissions spéciales (accès à tous les fichiers et envoi de notifications) dans la page des paramètres des applications packagéesissue #354AméliorationLes textes et icônes des contrôles s'ajustent automatiquement selon la luminosité du thèmeAméliorationAmélioration de l'expérience visuelle lorsque le contraste entre la couleur du contrôle et le fond est faibleAméliorationAmélioration de la compatibilité du contrôle d'entrée HEX dans la palette de couleurs lors du collage de valeurs depuis le presse-papiersAméliorationLa barre de navigation de l'application est désormais configurée pour être transparente ou semi-transparente afin d'améliorer l'expérience visuelleAméliorationLe mode UI par défaut de la barre d'état et de la barre de navigation est défini sur la couleurmd_grey_50en mode clairAméliorationL'interrupteur du service d'accessibilité dans le tiroir de la page d'accueil se synchronise désormais avec le code du scriptAméliorationLa page de documentation de l'accueil prend désormais en charge des boutons de recherche bidirectionnelsAméliorationL'onglet « Fichiers » de la page d'accueil permet de changer la visibilité du bouton flottant par un appui longAméliorationLe titre de l'éditeur de code supporte désormais l'ajustement automatique de la taille de la policeAméliorationLa visibilité du bouton flottant dans la page des journaux est liée aux actions de défilement de la listeAméliorationLe fichier de configuration project.json du projet de script prend désormais en charge davantage d'options de packagingissue #305issue #306AméliorationLe fichier project.json prend désormais en charge une correspondance plus souple des noms d'option ainsi qu'une compatibilité avec les aliasAméliorationLa boîte de dialogue d'information sur le type de fichier APK inclut désormais la taille du fichier et des informations sur le schéma de signatureAméliorationLa boîte de dialogue d'information sur le type de fichier APK prend désormais en charge des écouteurs de clic pour copier le texte et accéder aux détails de l'applicationAméliorationTentative de restauration des packages préfixés par com.stardust afin d'améliorer la compatibilité du codeissue #290AméliorationLes méthodes floaty.window/floaty.rawWindow supportent désormais l'exécution sur le thread principal ainsi que sur des threads secondairesAméliorationLa méthode globale getClip utilise désormais floaty.getClip au besoin pour améliorer la compatibilitéAméliorationAmélioration de la compatibilité de files.path et des méthodes associées lorsqu'une valeur nulle est fournie pour le cheminAméliorationSynchronisation avec la dernière version officielle du moteur Rhino et adaptations nécessaires du codeAméliorationAmélioration du README.md pour mieux documenter la construction et l'exécution du projetissue #344AméliorationCertaines dépendances ou versions de bibliothèques locales ont été ajustéesCHANGELOG.md
Pour plus d'histoires de versions, voir
Compilation et construction du projet
Pour déboguer ou développer le projet open source AutoJs6, vous pouvez utiliser Android Studio (un produit de Google) ou IntelliJ IDEA (un produit de Jetbrains).
Cette section présente la méthode de compilation et de construction du projet open source AutoJs6 en prenant Android Studio comme exemple, similaire à IntelliJ IDEA.
Préparation de Android Studio
Téléchargez la version Android Studio Meerkat Feature Drop | 2024.3.2 Patch 1 (choisissez-en une selon vos besoins):
- android-studio-2024.3.2.15-windows.exe (1.23 GB)
- android-studio-2024.3.2.15-windows.zip (1.23 GB)
Note : La version mentionnée ci-dessus a été publiée le 28 May 2025. Pour télécharger d'autres versions ou si le lien ci-dessus n'est plus valide, visitez la page archive des versions de Android Studio.
Installez ou extrayez le fichier ci-dessus, exécutez Android Studio (par exemple "D:\android-studio\bin\studio64.exe").
Préparation du SDK Android
Note : Si le SDK Android (Kit de développement logiciel) est déjà installé sur le système de votre ordinateur, vous pouvez ignorer cette section.
Ouvrir la page de paramètres Android SDK (Kit de développement logiciel Android) (l'une des méthodes suivantes) :
Help (Aide) | Find action (Rechercher une action) # Saisir "Android SDK"
[ ou ]
File (Fichier) | Settings (Paramètres) # Rechercher "Android SDK"
[ ou ]
File (Fichier) | Settings (Paramètres) | Language & Frameworks (Langages et Frameworks) | Android SDK (Kit de développement logiciel Android)
[ ou ]
File (Fichier) | Settings (Paramètres) | Appearance & Behavior (Apparence et Comportement) | Paramètres système (System Settings) | Android SDK (Kit de développement logiciel Android)
Si le champ Android SDK Location (emplacement du SDK Android) est vide, cliquez sur le bouton Edit (modifier) à droite, cliquez plusieurs fois sur Next (suivant) dans la fenêtre contextuelle.
Note : Vous devrez peut-être accepter un ou plusieurs accords pertinents pour continuer.
Une fois les ressources téléchargées et installées, cliquez sur le bouton Finish (terminer).
Le champ Android SDK Location (emplacement du SDK Android) ci-dessus sera automatiquement rempli, complétant ainsi la préparation du SDK.
Préparation des outils SDK Android
AutoJs6 nécessite certains outils SDK (comme NDK et CMake).
Note : Si tous les outils SDK Android requis par AutoJs6 sont déjà installés sur le système de votre ordinateur, vous pouvez ignorer cette section.
Ouvrir la page de paramètres SDK Tools (Outils du SDK) (l'une des méthodes suivantes) :
Help (Aide) | Find action (Rechercher une action) # Saisir "SDK Tools"
[ ou ]
File (Fichier) | Settings (Paramètres) # Rechercher "SDK Tools"
[ ou ]
File (Fichier) | Settings (Paramètres) | Language & Frameworks (Langages et Frameworks) | Android SDK (Kit de développement logiciel Android) | Outils SDK (SDK Tools) (situés dans la fenêtre de droite)
[ ou ]
File (Fichier) | Settings (Paramètres) | Appearance & Behavior (Apparence et Comportement) | Paramètres système (System Settings) | Android SDK (Kit de développement logiciel Android) | Outils SDK (SDK Tools) (situés dans la fenêtre de droite)
Cochez Show Package Details (afficher les détails du package), puis cliquez respectivement sur NDK et CMake, assurez-vous que les versions appropriées des outils sont cochées, Les informations de version des outils SDK se trouvent dans le fichier version.properties à la racine du projet AutoJs6.
Préparation du JDK
La version de JDK (Kit de développement Java) requise pour le projet AutoJs6 doit être au moins 17, mais il est recommandé d'avoir au moins 19.
À partir du 31 May 2025, AutoJs6 prend en charge la version maximale de JDK 24.
Note : Si le JDK est déjà installé sur le système informatique et que la version répond aux exigences ci-dessus, vous pouvez ignorer cette section.
Vous pouvez télécharger le JDK directement via l'IDE, ou visiter le site Web d'Oracle pour le télécharger.
Ouvrir la page de paramètres Gradle JDK (l'une des méthodes suivantes) :
Help (Aide) | Find action (Rechercher une action) # Saisir "Gradle JDK"
[ ou ]
File (Fichier) | Settings (Paramètres) # Rechercher "Gradle"
[ ou ]
File (Fichier) | Settings (Paramètres) | Build, Execution, Deployment (Compilation, Exécution, Déploiement) | Outils de construction (Build Tools) | Gradle
Vous pouvez sélectionner ou ajouter différentes versions de JDK à la section Gradle JDK.
Si une version appropriée de JDK (>= 17) existe déjà dans la liste, sélectionnez-la directement.
Sinon, vous pouvez choisir Télécharger JDK (Download JDK) pour télécharger un JDK approprié, cliquez sur le bouton Télécharger (Download) et attendez que le téléchargement soit terminé.
Vous pouvez également choisir Ajouter JDK (Add JDK) pour ajouter un JDK local existant, localiser son répertoire et ajouter le JDK.
Clonage des ressources AutoJs6
Cliquez sur le bouton Get from VCS (obtenir depuis VCS) sur la page principale d'Android Studio.
Remplissez le champ URL (adresse de ressources unifiée) avec https://github.com/SuperMonster003/AutoJs6.git,
Le champ Directory (répertoire) peut être modifié selon vos besoins.
Cliquez sur le bouton Clone (cloner), attendez que les ressources AutoJs6 soient clonées localement sur l'appareil.
Note : Ce processus peut nécessiter l'installation de Git (système de gestion de versions distribué).
Construction du projet AutoJs6
Une fois cloné, Android Studio ouvrira la fenêtre de projet AutoJs6 et complétera automatiquement le téléchargement initial des dépendances et le processus de construction Gradle.
Note : Ce processus peut être très long. En cas de mauvaises conditions réseau, plusieurs tentatives peuvent être nécessaires (cliquez sur le bouton Retry).
Si la construction ne peut pas se faire automatiquement ou si vous devez reconstruire le projet, suivez ces étapes :
- Dans le menu
Run/Debug Configurationsde la barre d'outils, sélectionnezapp, qui est l'application principale d'AutoJs6 - Cliquez sur le bouton
Build Project(icône de marteau) à gauche pour lancer la construction du projet. Le raccourci par défaut est CTRL + F9 - Attendez que la construction se termine. L'onglet
Builder Outputaffichera un message comme "BUILD SUCCESSFUL in 1h 17m 34s"
Si la construction échoue, vous pouvez signaler le message d'erreur sur la page Issues du projet AutoJs6.
Note : Pour plus de détails sur la manière de construire et d'exécuter l'application, veuillez consulter Android Docs
Déploiement du Projet AutoJs6 (Exécuter l'App)
Une fois le projet construit avec succès, il peut être déployé en tant qu'application (App) sur un appareil physique (par ex. téléphone/tablette) ou sur un appareil virtuel (par ex. émulateur Android).
- Dans la barre d'outils, sélectionnez
appdans le menuRun/Debug Configurations, qui est l'application principale d'AutoJs6 - Dans le menu déroulant
Available Devicesà droite, choisissez l'appareil sur lequel l'application du projet doit s'exécuter (physique ou virtuel) - Cliquez sur le bouton
Run(icône de triangle) à droite pour lancer l'application. Le raccourci par défaut estF10 - Attendez que le déploiement se termine ; l'appareil sélectionné installera et exécutera automatiquement l'application du projet
Déploiement du Projet AutoJs6 (Générer l'APK)
Emballer le projet et générer un fichier APK qui peut être installé sur les appareils Android:
- Version de débogage (Debug Version)
Construire (Build)|Build Bundle(s) / APK(s)|Build APK(s)- Générer un package d'installation de version de débogage signé par défaut
- Exemple de chemin :
"D:\AutoJs6\app\build\outputs\apk\debug\"
- Version publiée (Release Version)
Construire (Build)|Generate Signed Bundle / APK- Sélectionnez l'option
APK - Préparer le fichier de signature (nouveau ou existant), et générer un package d'installation de version publiée signée
- Exemple de chemin :
"D:\AutoJs6\app\release\"
Note : Pour plus d'informations sur la manière de construire une application pour sa publication, veuillez consulter Android Docs
Tâches de build Gradle prédéfinies pour AutoJs6
En plus de construire l'application du projet, AutoJs6 prend en charge plusieurs tâches de build Gradle prédéfinies qui aident les développeurs à effectuer directement des opérations liées au projet.
Dans le menu Run/Debug Configurations de la barre d'outils, vous pouvez voir diverses tâches Gradle prédéfinies, chacune indiquée par une icône d'éléphant à gauche.
- AutoJs6 [inrt:assemble]
Assembler la variante de build "inrt", qui sert principalement à la fonction de packaging des scripts d'AutoJs6.
Le projet AutoJs6 dispose de différentes variantes de construction. La variante "inrt" est utilisée pour le packaging des scripts, générant le fichier modèle "template.apk" nécessaire au packaging.
Lors de l'utilisation de la fonction de packaging, vous pourriez rencontrer le message d'erreur suivant :
java.io.FileNotFoundException: template.apk
Cela indique que le fichier modèle n'existe pas. Vous devez exécuter manuellement la tâche inrt:assemble pour générer le fichier modèle, puis reconstruire et redéployer l'application.
Note : Lorsque le code du projet principal est modifié et que vous souhaitez synchroniser ces changements avec l'application packagée, il est nécessaire de relancer la tâche
inrt:assembleafin de générer les fichiers de modèle et de redéployer l'application
- AutoJs6 [app:bundle]
Emballer les produits du processus de build en mode debug, principalement pour le projet définitions AutoJs6.
Après l'exécution de la tâche, le fichier JAR le plus récent du projet AutoJs6 est généré. À l'aide de l'outil Android d.ts Generator (par NativeScript), vous pouvez générer les définitions de types (format d.ts) pour l'application principale d'AutoJs6.
- AutoJs6 [app:digest]
Ajoutez des informations de résumé au fichier APK généré par le build en mode release, principalement pour déterminer le nom final du fichier avant de publier la dernière version d'AutoJs6 sur GitHub.
Voici une comparaison des noms de fichiers avant et après l'ajout des informations de résumé :
Avant:
autojs6-v6.6.2-arm64-v8a.apk
Après:
autojs6-v6.6.2-arm64-v8a-0f2a9d74.apk
Voir aussi: Android Docs
Assistance au développement de scripts
Pour développer des scripts exécutables par AutoJs6, utilisez les outils de développement appropriés:
Pour développer et déboguer des scripts sur PC, l'extension VSCode permet une connexion entre PC et téléphone:
- AutoJs6-VSCode-Extension - Débogueur AutoJs6 (extension de plateforme VSCode)
Lors de l'écriture de code avec des outils de développement, les fonctionnalités de complétion de code peuvent mieux aider les développeurs à terminer l'écriture du code:
- AutoJs6-TypeScript-Declarations - Fichiers de déclaration AutoJs6 (complétion de code)
Lors de l'écriture de codes, les API AutoJs6 et l'utilisation peuvent être consultées à tout moment sur les documents de l'application:
- AutoJs6-Documentation - Documentation de l'application AutoJs6
Les projets de développement de scripts existants peuvent servir de référence et inspirer la création de projets de scripts personnels:
- Ant-Forest - Script de collecte automatique d'énergie Ant Forest par TonyJiangWJ
- Ant-Forest - Script de collecte automatique d'énergie Ant Forest par SuperMonster003
- autojs - Scripts utilitaires Auto.js par e1399579
- autojsDemo - Exemple de démonstration Auto.js par snailuncle
- dépôts associés à autojs - Tous les dépôts associés au sujet autojs sur GitHub
Contribution
Merci à chaque contributeur participant au développement du projet AutoJs6.
| Contributeurs | Nombre de commits | Soumissions récentes |
|---|---|---|
| wirsnow | 1 | 2025/05/19 |
| TonyJiangWJ | 5 | 2025/04/24 |
| luckyloogn | 3 | 2025/01/01 |
| kvii | 1 | 2024/10/16 |
chenguangming (Tom) |
2 | 2024/05/14 |
LZX284 (AI) |
17 | 2023/11/19 |
little‑alei (抠脚本人) |
12 | 2023/07/12 |
| aiselp | 6 | 2023/06/14 |
LYS86 (Lin) |
2 | 2023/06/03 |
Données mises à jour le 27 May 2025.
Les entrées de données sont triées par soumissions récentes en ordre décroissant.
Les nouvelles Pull Requests en attente de traitement seront ajoutées aux statistiques après leur fusion.
Certains contributeurs ne figurant pas correctement dans GitHub Contributors peuvent avoir des enregistrements de soumission vides, mais leurs contributions peuvent toujours être consultées via Pull Requests.
