52 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 / ... ]
- 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.7.16-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.1
2024/12/25
FonctionnalitéModule Pinyin pour la conversion du pinyin chinois (Consultez la documentation du projet > Pinyin chinois)FonctionnalitéModule Pinyin4j pour la conversion du pinyin chinois (Consultez la documentation du projet > Pinyin chinois)FonctionnalitéMéthodes UiObject#isSimilar et UiObjectCollection#isSimilar pour déterminer si une commande ou une collection de commandes est similaireCorrectionProblème empêchant la compilation correcte du projet dans certains environnements suite à un retour à une ancienne versionCorrectionException "valeur non primitive" pouvant survenir lors de l'appel à des méthodes inexistantesCorrectionProblème empêchant l'ajout correct de raccourcis de script sur certains appareils (correction provisoire)issue #221CorrectionErreur de restriction de type de paramètre dans les méthodes automator.click/longClickissue #275CorrectionProblème avec les sélecteurs ne prenant pas en charge les paramètres de type ConsStringissue #277CorrectionProblème d'absence des méthodes et propriétés propres aux instances UiObjectCollectionAméliorationRestauration de la possibilité de sélectionner le contenu texte d'une entrée individuelle dans la fenêtre de journal via un double-clic ou un appui longissue #280AméliorationRécupérer autant d'informations critiques que possible pour les projets de script en cas de corruption du fichier project.jsonAméliorationConvertir automatiquement le chinois simplifié en pinyin (y compris les caractères à tons multiples) pour les suffixes de noms de paquet générés lors de l'empaquetage de fichiers uniquesAméliorationSoutien des arguments négatifs dans les méthodes UiSelector#findOnce et UiSelector#findAméliorationPrise en charge des formes abrégées supplémentaires pour les préfixes de noms de paquet dans les sélecteurs liés aux éléments de l'interface utilisateur et aux className (par exemple RecyclerView, Snackbar, etc.)AméliorationCertaines dépendances ou versions de bibliothèques locales ont été ajustéesCHANGELOG.md
v6.6.0
2024/12/02 - Réécriture du module intégré, mise à jour avec prudence
AstuceLes modules intégrés sont réécrits en Kotlin pour améliorer l'efficacité d'exécution des scripts, mais des améliorations itératives sont nécessaires.AstuceLe fichier init.js intégré est vide par défaut, permettant aux développeurs d'étendre les modules intégrés ou de monter des modules externes.FonctionnalitéModule Axios / Module Cheerio (Réf. à AutoX)FonctionnalitéModule SQLite pour des opérations simples sur les bases de données SQLite (Réf. à Auto.js Pro) (Voir la documentation du projet > SQLite)FonctionnalitéModule MIME pour le traitement et l'analyse des chaînes de type MIME (Voir la documentation du projet > MIME)FonctionnalitéModule Nanoid pour la génération d'ID de chaîne (Réf. à ai/nanoid)FonctionnalitéModule Sysprops pour obtenir des données de configuration de l'environnement d'exécution (Voir la documentation du projet > Propriétés système)FonctionnalitéLe module OCR prend en charge le moteur Rapid OCRFonctionnalitéL'analyse de la mise en page prend en charge le changement de fenêtre (Réf. à Auto.js Pro)FonctionnalitéLa méthode auto.clearCache prend en charge le nettoyage des caches de contrôle (Réf. à Auto.js Pro)FonctionnalitéLa méthode threads.pool prend en charge l'application simple des pools de threads (Réf. à Auto.js Pro)FonctionnalitéLa méthode images.matchTemplate ajoute le paramètre d'option useTransparentMask pour prendre en charge la recherche d'image transparente (Réf. à Auto.js Pro)FonctionnalitéLa méthode images.requestScreenCaptureAsync permet de demander des permissions de capture d'écran de manière asynchrone en mode UI (Réf. à Auto.js Pro)FonctionnalitéLa méthode images.requestScreenCapture ajoute le paramètre d'option isAsync pour prendre en charge la capture d'écran asynchrone (Réf. à Auto.js Pro)Fonctionnalitéimages.on('screen_capture', callback) et d'autres méthodes d'écoute d'événements prennent en charge l'écoute des événements de disponibilité de capture d'écran (Réf. à Auto.js Pro)FonctionnalitéLa méthode images.stopScreenCapture soutient la libération active des ressources liées aux applications de capture d'écran (Réf. à Auto.js Pro)FonctionnalitéLes méthodes Images.psnr/mse/ssim/mssim/hist/ncc et images.getSimilarity pour obtenir des mesures de similarité d'imageFonctionnalitéLa méthode images.isGrayscale pour déterminer si une image est en niveaux de grisFonctionnalitéLa méthode images.invert pour la conversion d'image négativeFonctionnalitéLes méthodes s13n.point/time pour normaliser les objets de point et de durée (Voir la documentation du projet > Normalisation)FonctionnalitéLes méthodes gravity, touchThrough, backgroundTint du module console (Voir la documentation du projet > Console)FonctionnalitéLes méthodes Mathx.randomInt/Mathx.randomFloat pour retourner des entiers aléatoires ou des nombres à virgule flottante aléatoires dans une plage spécifiéeFonctionnalitéLes méthodes app.launchDual/startDualActivity pour gérer le lancement double d'applications (Nécessite des autorisations Shizuku ou Root) (Expérimental)FonctionnalitéLa méthode app.kill pour arrêter de force une application (Nécessite des autorisations Shizuku ou Root)FonctionnalitéLa méthode floaty.getClip pour obtenir indirectement le contenu du presse-papiers à l'aide d'une fenêtre flottanteCorrectionFuite de mémoire dans le View Binding des sous-classes de Fragment (par exemple, DrawerFragment / ExplorerFragment)CorrectionFuite de mémoire d'instance dans des classes telles que ScreenCapture / ThemeColorPreferenceCorrectionProblème causant le crash de l'application lors de la demande de permissions de capture d'écran sur Android 14+ (par chenguangming)pr #242CorrectionProblème causant le crash de l'application lors du démarrage du service en premier plan sur Android 14+CorrectionProblème avec le bouton d'exécution dans l'éditeur de code qui ne s'allume pas correctement sur Android 14+CorrectionL'application peut ne pas fonctionner correctement après l'empaquetage en raison de fichiers de bibliothèque nécessaires manquantsissue #202issue #223pr #264CorrectionCrash de l'application lors de l'édition du projet en raison de ressources d'icône spécifiées manquantesissue #203CorrectionIncapacité à utiliser correctement les paramètres pour obtenir les ressources de capture d'écran de l'orientation spécifiée lorsqu'on demande des permissions de capture d'écranCorrectionProblème avec certains appareils incapables d'ajouter correctement des raccourcis de script (Correction d'essai)issue #221CorrectionProblème de retard cumulatif de l'envoi de requêtes avec des méthodes liées à l'envoi de requêtes dans le module httpissue #192CorrectionLe service Shizuku peut ne pas fonctionner correctement avant qu'AutoJs6 n'entre dans la page principale de l'activité (Correction d'essai)issue #255CorrectionLa méthode random(min, max) peut avoir des résultats hors limitesCorrectionProblème où le paramètre de type de résultat des méthodes pickup ne peut pas passer correctement des tableaux videsCorrectionProblème de rectangle de contrôle obtenu par UiObject#bounds() pouvant être modifié par inadvertance, brisant son immutabilitéCorrectionProblème avec les éléments texte/bouton/entrée où le texte contenant des guillemets doubles de largeur réduite ne peut pas être analysé correctementCorrectionProblème avec les éléments text/textswitcher où la fonctionnalité de l'attribut autoLink échoueCorrectionProblème avec différents scripts partageant par erreur le même objet ScriptRuntimeCorrectionProblème avec les variables globales HEIGHT et WIDTH perdant leurs propriétés Getter générées dynamiquementCorrectionProblème avec un temps de démarrage potentiellement élevé causé par le chargement de RootShell au démarrage du scriptCorrectionProblème avec le réglage de couleur de fond de la fenêtre de console flottante entraînant la perte du style d'arrondi rectangulaireCorrectionLe démarrage automatique du service d'accessibilité peut rencontrer des problèmes de service anormaux (Correction d'essai)CorrectionProblème de déclenchement du changement de ViewPager lors du glissement du contrôle WebView à gauche ou à droite sur la page de document de la page d'accueilCorrectionProblème avec le gestionnaire de fichiers incapable de reconnaître les extensions de fichier contenant des lettres majusculesCorrectionLe gestionnaire de fichiers peut ne pas reconnaître automatiquement le projet lors de la première entrée dans le répertoire du projetCorrectionProblème avec la page du gestionnaire de fichiers incapable de se rafraîchir automatiquement après la suppression du dossierCorrectionProblème avec le tri des fichiers et des dossiers dans le gestionnaire de fichiers où les noms de lettre initiale ASCII sont mis en arrièreCorrectionException 'FAILED ASSERTION' dans la fonction de débogage de l'éditeur de codeCorrectionProblème d'impossibilité de déboguer à nouveau correctement après la fermeture de l'éditeur pendant le processus de débogage de l'éditeur de codeCorrectionProblème de saut potentiel de caractères de fin lors du saut à la fin de la ligne dans l'éditeur de codeCorrectionProblème de scintillement de l'écran lors du démarrage de la page d'activité de journal sur la page principale de l'activitéCorrectionProblème avec l'application empaquetée ne pouvant pas utiliser correctement le module openccAméliorationExpérience d'indication de clic pour le contrôle 'ABI non disponible' sur la page de paquetAméliorationPrend en charge l'utilisation de Shizuku pour contrôler l'interrupteur d'affichage 'Localisation du pointeur'AméliorationPrend en charge l'utilisation de Shizuku pour contrôler les interrupteurs de permission 'Médias de projection' et 'Modifier les paramètres sécurisés'AméliorationAutomator.gestureAsync/gesturesAsync prend en charge les paramètres de fonction de rappelAméliorationLe module tasks utilise une méthode synchrone pour les opérations de base de données afin d'éviter les incohérences potentielles d'accès aux donnéesAméliorationLe mode d'exécution de scripts prend en charge les paramètres de mode de séparation par symbole pipeline (par exemple, en commençant par"ui|auto";)AméliorationLe mode d'exécution de scripts prend en charge les guillemets simples et guillemets inversés et permet d'omettre les points-virgules (par exemple, en commençant par'ui';ou'ui')AméliorationLe mode d'exécution de scripts prend en charge l'importation rapide des modules d'extension intégrés tels que axios, cheerio, et dayjs (par exemple, en commençant par"axios";)AméliorationLe mode d'exécution de scripts prend en charge les paramètres de mode x ou jsox pour activer rapidement les modules d'extension d'objets intégrés JavaScript (par exemple, en commençant par"x";)AméliorationLes attributs src et path de l'élément img prennent en charge les chemins relatifs locaux (par exemple,<img src="a.png"/>)AméliorationL'éditeur de code prend en charge la détermination intelligente de l'emplacement d'insertion lors de l'importation de classes Java et de noms de paquetsAméliorationLe module images prend en charge l'utilisation des chemins directement comme paramètres d'imageAméliorationimportPackage prend en charge les paramètres de chaîneAméliorationL'adresse IP du mode serveur prend en charge l'importation du presse-papiers avec reconnaissance intelligente et conversion intelligente avec la touche espaceAméliorationLe gestionnaire de fichiers prend en charge la sélection de préfixes par défaut lors de la création de nouveaux fichiers et génère automatiquement un suffixe numérique appropriéAméliorationLe gestionnaire de fichiers informe spécifiquement sur le message d'exception lors de l'exécution du projetissue #268AméliorationLe gestionnaire de fichiers prend en charge plus de types et affiche les symboles d'icône correspondants (prend en charge plus de 800 types de fichiers)AméliorationLes types de fichiers éditables (jpg/doc/pdf, etc.) dans le gestionnaire de fichiers ont ajouté des boutons d'éditionAméliorationLes fichiers APK dans le gestionnaire de fichiers prennent en charge la visualisation des informations de base, des informations du manifest et de la liste des permissionsAméliorationLes fichiers multimédias audio/vidéo dans le gestionnaire de fichiers prennent en charge la visualisation des informations de base et des informations de MediaInfoAméliorationLe paquet de fichier unique prend en charge le remplissage automatique du nom de paquet standardisé approprié et l'indication de filtre de caractère invalideAméliorationLe paquet de fichier unique prend en charge la configuration automatique de l'icône et l'incrémentation automatique du numéro et du nom de version basé sur l'application du même nom de paquet installéeAméliorationLe fichier de configuration du paquet prend en charge l'option abis/libs pour spécifier la bibliothèque et l'architecture ABI incluses par défautAméliorationPrend en charge les indications de messages pertinents lorsque les options abis/libs du fichier de configuration du paquet sont invalides ou non disponiblesAméliorationLeakCanary est exclu de la version officielle pour éviter une croissance inutileAméliorationTous les commentaires en anglais dans le code source du projet sont accompagnés de traductions en chinois simplifié pour améliorer la lisibilitéAméliorationREADME et CHANGELOG prennent en charge plusieurs langues (Généré automatiquement par script)AméliorationAméliorer l'adaptabilité de la version du script de construction GradleAméliorationCertaines dépendances ou versions de bibliothèques locales ont été ajustéesCHANGELOG.md
v6.5.0
2023/12/02
FonctionnalitéModule opencc (référez-vous à la documentation du projet > Conversion en Chinois) (Réf à LZX284)FonctionnalitéAjout des méthodes plus et append pour UiSelectorissue #115FonctionnalitéSupport amélioré pour le filtrage des ABI et des bibliothèques sur la page de l'application de packaging (Réf à AutoX)issue #189CorrectionProblème de taille de fichier anormalement volumineux lors du packaging de l'application (Réf à AutoX / LZX284)issue #176CorrectionProblème d'affichage de certains messages d'exception lors du packaging de l'applicationCorrectionProblème potentiel d'icône blanche après la sélection d'une icône d'application sur la page de packaging de l'applicationCorrectionProblème d'initialisation contextuelle lors de l'intégration de la bibliothèque OCR MLKit GoogleCorrectionProblème d'inefficacité des méthodes ocr.mlkit/ocr.recognizeText/detectCorrectionProblème de langage d'affichage incohérent avec le paramètre de l'application dans certains textes (comme la page des logs)CorrectionProblème de débordement de texte sur certains appareils avec le service de réutilisation activéCorrectionProblème de fermeture automatique du service d'accessibilité sans notification sur certains appareilsissue #181CorrectionProblème de crash de l'application causé par les boutons physiques du matériel avec le service d'accessibilité activé sur certains appareils (correctif partiel)issue #183issue #186CorrectionProblème de dysfonctionnement de la fonctionnalité pickup après avoir redémarré le service d'accessibilité avec auto(true) (correctif partiel)issue #184CorrectionProblème de crash potentiel de l'application lors de la création de fenêtres flottantes avec le module floaty (correctif partiel)CorrectionProblème d'utilisation des paramètres abrégés dans app.startActivityissue #182issue #188CorrectionProblème de conflit de nommage entre les classes importées avec importClass et les variables globalesissue #185CorrectionProblème d'inutilisation du service d'accessibilité sur Android 7.xCorrectionProblème potentiel d'utilisation des méthodes runtime.loadJar/loadDex sur Android 14 (correctif partiel)CorrectionProblème d'inutilisation des "layout bounds" et "layout hierarchy" sur le panneau de configuration rapide dans le système Androidissue #193CorrectionProblème potentiel d'ANR (Application Not Responding) causé par la fonctionnalité de vérification automatique des mises à jour (correctif partiel)issue #186CorrectionProblème de retour à la page de chemin de travail après un clic sur le bouton "retour" dans le gestionnaire de fichiersissue #129CorrectionProblème de non-affichage du bouton de remplacement lors de l'utilisation de la fonctionnalité de remplacement dans l'éditeur de codeCorrectionProblème potentiel de crash de l'application lors de la suppression longue dans l'éditeur de code (correctif partiel)CorrectionProblème de non-affichage du panneau de fonctions de module sur un clic sur le bouton fx dans l'éditeur de codeCorrectionProblème de débordement de noms de fonctions sur le panneau de fonctions de module dans l'éditeur de codeAméliorationLe panneau de fonctions rapides du module d'édition de code s'adapte au mode nuit.AméliorationLa page de démarrage de l'application emballée s'adapte au mode nuit et la disposition des icônes d'application est ajustée.AméliorationLa page de l'application emballée prend en charge la navigation du curseur à l'aide de la touche ENTER sur le clavier logiciel.AméliorationLa page de l'application emballée prend en charge le basculement de l'état de sélection totale en cliquant sur les titres ABI et de bibliothèque.AméliorationLa sélection par défaut d'ABI est rendue intelligente sur la page de l'application emballée avec des invites guide pour les éléments non sélectionnables.AméliorationLe gestionnaire de fichiers ajuste l'affichage des éléments du menu en fonction du type et des caractéristiques des fichiers et dossiers.AméliorationLe menu contextuel du gestionnaire de fichiers pour les dossiers ajoute une option d'emballage d'application.AméliorationLorsque les services d'accessibilité sont activés mais dysfonctionnent, un état anormal se reflète dans le commutateur du tiroir de la page d'accueil d'AutoJs6.AméliorationLa console inclut des informations détaillées sur la pile lors de l'impression des messages d'erreur.Amé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 Ladybug | 2024.2.1 Patch 3 (choisissez-en une selon vos besoins):
- android-studio-2024.2.1.12-windows.exe (1.13 GB)
- android-studio-2024.2.1.12-windows.zip (1.14 GB)
Note : La version mentionnée ci-dessus a été publiée le 2 December 2024. 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.
Dans Android Studio, ouvrez la page des paramètres avec le raccourci CTRL + ALT + S:
Apparence et comportement (Appearance & Behavior) ->
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.
Dans Android Studio, ouvrez la page des paramètres avec le raccourci CTRL + ALT + S:
Apparence et comportement (Appearance & Behavior) ->
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 25 December 2024, AutoJs6 prend en charge la version maximale de JDK 23.
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.
Ouvrez la page des paramètres dans Android Studio en utilisant le raccourci CTRL + ALT + S:
Construction, exécution, déploiement (Build, Execution, Deployment) ->
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).
Une fois la construction terminée, l'onglet Build d'Android Studio affichera un message du type BUILD SUCCESSFUL in 1h 17m 34s.
Emballez le projet et générez un fichier APK installable 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\"
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 |
|---|---|---|
| kvii | 1 | 2024/10/16 |
| chenguangming | 2 | 2024/05/14 |
| LZX284 | 17 | 2023/11/19 |
| TonyJiangWJ | 4 | 2023/10/31 |
| little‑alei | 12 | 2023/07/12 |
| aiselp | 6 | 2023/06/14 |
| LYS86 | 2 | 2023/06/03 |
Données mises à jour le 23 October 2024.
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.
