Utilisation d’Android Studio

Android Studio est un environnement de développement intégré (IDE) pour le développement d’applications Android basé sur IntelliJ. Il compile votre code qui est ensuite installé sur le Robot Controller : soit le Control Hub, soit un téléphone Android légal.

Téléchargement d’Android Studio

Si vous avez déjà téléchargé Android Studio, vous pouvez passer à l’étape suivante, qui est la « configuration du SDK ».

Les étapes pour télécharger et installer Android Studio sont les suivantes :

  1. Vérifiez que votre système répond aux conditions requises

  2. Installez la dernière version d’Android Studio à partir de https://developer.android.com/studio/index.html

  3. Exécutez l’exécutable, suivez l’assistant d’installation et utilisez tous les kits de développement recommandés.

Mise en place du SDK

Maintenant que vous avez installé Android Studio, vous allez vouloir utiliser le SDK (kit de développement logiciel) de la saison en cours pour créer le code de votre équipe.

Télécharger le SDK

Le SDK est diffusé publiquement dans un dépôt GitHub. Le SDK actuel se trouve dans le dépôt FtcRobotController.

Téléchargement et ouverture du SDK dans Android Studio

  1. Ouvrez Android Studio. Si un autre projet est ouvert, fermez-le (Fichier -> Fermer le projet). Assurez-vous que l’option « Projets » est sélectionnée dans la barre latérale.

    Un écran devrait apparaître avec une option permettant de configurer les paramètres et d'importer un projet.
  2. Cliquez sur l’icône en forme d’engrenage dans le coin inférieur gauche et sélectionnez « vérifier les mises à jour ». Si vous ne disposez pas de la dernière version, téléchargez les mises à jour.

  3. Sélectionnez « Get from VCS ». Assurez-vous que « Repository URL » est sélectionné dans la barre latérale, puis mettez https://github.com/FIRST-Tech-Challenge/FtcRobotController.git` dans la zone de texte URL. Enfin, cliquez sur le bouton Clone dans le coin inférieur droit pour télécharger le SDK.

    Astuce

    Pensez également à changer le nom du dossier final dans la zone de texte Directory de FtcRobotController à quelque chose qui reflète votre équipe et la saison, par exemple l’équipe numéro 99999 pourrait utiliser 99999-2025-26-code.

    TODO : texte alt
  4. Lorsqu’il vous est demandé si vous voulez faire confiance au projet et l’ouvrir, choisissez « Faire confiance au projet ».

    TODO : texte alt
  5. Sélectionnez l’icône du marteau dans le groupe d’icônes situé dans le coin supérieur droit de la fenêtre. Ceci téléchargera tous les modules nécessaires et construira le projet.

    TODO : texte alt
  6. Attendez que Gradle termine la construction. Cet indicateur devrait être situé en bas de la fenêtre par défaut.

    Une compilation Gradle en cours

Mise en page

Android Studio peut sembler intimidant à première vue, mais seules quelques fonctionnalités sont nécessaires pour l’utiliser correctement.

Présentation d'Android Studio

Création de classes

La première chose à noter dans la vue du projet est le panneau de gauche avec les composants du projet. Développez le dossier TeamCode, puis le dossier java, et vous verrez un paquet org.firstinspires.ftc.teamcode.

TeamCode > java > org.firstinspires.ftc.teamcode

C’est ici que vous créerez votre code pour le robot. Pour créer une nouvelle classe Java, cliquez avec le bouton droit de la souris sur le paquetage, sélectionnez Nouveau, puis choisissez « Classe Java ».

New > Java Class

Si vous souhaitez créer un sous-dossier à des fins d’organisation, vous pouvez sélectionner l’option « Package ». Vous pouvez ensuite créer des classes dans ces paquets.

Astuce

Le fichier readme.md de ce répertoire contient de la documentation utile, notamment des informations sur les exemples de programmes livrés avec le SDK que vous pouvez utiliser et modifier. Nous vous recommandons vivement de lire ces informations.

Installez Votre Programme

Pour installer votre programme sur le contrôleur de robot, vous utiliserez le bouton de lecture situé en haut au milieu de la fenêtre de l’application.

Bouton de lecture à côté de la liste déroulante des appareils

Près de celui-ci, vous verrez un menu déroulant pour les appareils. Lorsque vous connectez votre contrôleur de robot à votre ordinateur, l’appareil devrait apparaître dans la liste déroulante au bout d’un certain temps. Cliquez ensuite sur le bouton de lecture et votre programme s’installera sur l’appareil.

Si vous rencontrez des problèmes avec ce processus, reportez-vous à la documentation officielle de REV. Voici quelques pages utiles du site REV :

Si vous êtes toujours bloqué, vous pouvez demander de l’aide sur le Discord FTC.

Gradle

Gradle est un outil de construction pour le développement de logiciels. Dans le cadre de FTC, il est utilisé pour construire et gérer les dépendances de votre projet.

Lorsque vous mettez à jour l’un de vos fichiers Gradle, vous devez effectuer une synchronisation Gradle, qui synchronise votre projet avec les changements et le reconstruit. Dans votre build.common.gradle, vous trouverez des informations sur la façon dont votre application de contrôleur de robot est construite.

Reconstruction

Vous pouvez facilement reconstruire votre projet à l’aide du menu Build.

Le menu de build en haut de l'écran

Remarque : sous Windows et Linux, la barre de menus est accessible en cliquant sur l’icône du menu hamburger en haut à gauche de la fenêtre.

Pour nettoyer votre projet et vous permettre de le reconstruire à partir de zéro, choisissez l’option clean project. Cela supprime les anciens fichiers compilés de votre projet. Pour reconstruire votre projet, choisissez l’option de reconstruction.

Invalider et Redémarrer

Parfois, vous pouvez obtenir des erreurs après avoir déplacé des choses, refait le travail, etc. La première étape est d’essayer de nettoyer le projet et de le reconstruire. Si cela ne fonctionne pas, vous pouvez corriger ces erreurs avec invalider et redémarrer dans le menu déroulant fichier. Cela efface tous les caches d’Android Studio et le redémarre.

Ajout de Dépendances

Si vous voulez ajouter des dépendances à votre projet, vous pouvez le faire dans le fichier build.gradle dans le répertoire TeamCode.

Il devrait y avoir un bloc de dépendances au bas du fichier.

dependencies {
    implementation project(':FtcRobotController')
}

Certaines dépendances nécessitent des modifications de vos autres fichiers Gradle. Assurez-vous de lire les instructions d’installation de la dépendance que vous souhaitez ajouter.

Ensuite, vous ajoutez une ligne dans le bloc des dépendances pour implémenter la dépendance. Cela se fait généralement avec implementation 'com.developer.package:name:version'.

dependencies {
    implementation project(':FtcRobotController')

    implementation 'com.developer.package:name:version'
}

Reportez-vous aux instructions de la bibliothèque que vous utilisez pour connaître le nom et la version du paquetage.

Enfin, effectuez une synchronisation Gradle.

Pont de débogage Android (adb)

Note

Sur macOS, Linux, ou en utilisant PowerShell, vous devrez changer toutes les commandes qui commencent par adb pour commencer par ./adb si vous êtes dans le répertoire platform-tools.

Communication sans fil

Android Debug Bridge (ADB) est un outil de ligne de commande qui permet une communication sans fil entre le contrôleur du robot (téléphone ou Control Hub).

ADB devrait être fourni avec les outils de plateforme dans Android Studio. Naviguez vers votre fichier local.properties à la racine de votre projet et vous devriez voir un chemin vers le SDK Android sur votre ordinateur, comme C:NUsersNWoodieNAppDataNLocalNAndroidNSdk. Naviguez ensuite vers platform-tools et une application appelée adb devrait s’y trouver. Pour l’utiliser, ouvrez CLI (comme PowerShell ou une invite de commande) et exécutez adb devices ou ./adb devices.

Pour plus d’informations sur ADB, vous pouvez consulter la documentation ADB.

Configuration de l’ADB

  1. Assurez-vous que le débogage USB est activé sur votre appareil et qu’il est en mode développeur.

  2. Assurez-vous d’avoir installé ADB. Si ce n’est pas le cas, suivez les instructions sur ce lien

Note

Vous pouvez utiliser logcat via ADB avec la commande adb logcat. C’est extrêmement utile pour le débogage car cela vous permet de regarder les logs sans fil, ce qui permet de gagner du temps. Rappelez-vous, logcat est la meilleure façon de déboguer votre logiciel.

Ajouter ADB au PATH

Si vous souhaitez utiliser ADB à partir d’un répertoire quelconque, ajoutez-le à PATH. Suivez un tutoriel en ligne pour ajouter au PATH et configurez le PATH pour inclure le répertoire platform-tools. Une fois que vous avez fait cela, vous pouvez exécuter des commandes ADB depuis n’importe quel endroit de votre système.

Ajout de variables à PATH :

Connexion Sans fil à un Control Hub

  1. Connectez-vous au hotspot Wi-Fi hébergé par le Control Hub. Le hotspot doit s’appeler « NUMEROEQUIPE-RC » ou un autre nom dérivé. Il peut inclure des lettres supplémentaires si vous avez plusieurs appareils par équipe. Référez-vous à R707 dans le Competition Manual pour plus de détails sur le schéma de nommage du réseau.

  2. Une fois que vous êtes connecté au réseau d’un Control Hub, il vous suffit de vous y connecter en utilisant adb connect 192.168.43.1:5555.

    • Alternativement, si vous avez le REV Hardware Client en cours d’exécution, il tentera de connecter automatiquement ADB à n’importe quel Control Hub connecté via Wi-Fi. Cette option ne nécessite pas la configuration manuelle d’ADB et est donc préférée par de nombreuses équipes utilisant des ordinateurs compatibles.

Connexion Sans fil à un Téléphone

  1. Branchez le téléphone contrôleur du robot sur votre ordinateur.

  2. Exécutez la commande adb devices dans le répertoire platform-tools et voyez si le téléphone apparaît.

  3. Exécutez adb usb puis adb tcpip 5555. Vous pouvez alors débrancher le téléphone.

  4. Connectez-vous au même réseau Wi-Fi que celui que l’appareil héberge ou sur lequel il se trouve. Le réseau Wi-Fi direct créé par le téléphone doit s’appeler « NUMEROEQUIPE-RC » ou un autre nom dérivé. Il peut comporter des lettres supplémentaires si vous avez plusieurs appareils par équipe. Reportez-vous à R707 dans le Competition Manual pour plus de détails sur le schéma de dénomination du réseau.

  5. Connectez-vous au téléphone en utilisant adb connect 192.168.49.1:5555. Si cela ne fonctionne pas, revérifiez l’adresse IP du téléphone et réessayez avec cette adresse IP si elle est différente.

Une fois la connexion établie avec un Control Hub ou un téléphone, celui-ci devrait apparaître automatiquement dans le menu déroulant des appareils dans Android Studio.

Logcat

Logcat est extrêmement utile pour déboguer les problèmes de votre code au moment de l’exécution ou pour comprendre ce qui n’a pas fonctionné. Par exemple, si l’activité de votre application se bloque et que vous consultez le journal et voyez 5000 lignes de la même erreur, il y a probablement une récursivité infinie dans votre code !

Pour utiliser logcat, branchez votre appareil (ou connectez-le via ADB). Sélectionnez ensuite le bouton logcat. Votre fenêtre devrait ressembler à ceci.

Onglets Terminal et Logcat en bas à gauche Un appareil et une application sélectionnés avec les messages d'erreur

Des informations utiles sur l’utilisation de logcat peuvent être trouvées ici.

Si vous avez un problème que vous ne comprenez pas, vous pouvez faire une capture d’écran du journal ou sélectionner et copier l’erreur et poser une question dans le discord FTC.

Configuration sans fil

Vous pouvez établir une configuration sur la station de conduite ou le Control Hub comme d’habitude. Cependant, vous pouvez également créer un fichier XML de configuration valide dans TeamCode/src/main/res/xml. Vous trouverez vos fichiers de configuration dans le dossier /sdcard/FIRST sous la forme d’un fichier XML portant le même nom que la configuration.

Pour obtenir ces fichiers XML sans fil, vous pouvez utiliser adb pull /sdcard/FIRST/config.xml /fully/qualified/path/res/xml.

Si un fichier XML de configuration valide se trouve dans res/xml, il apparaîtra comme une configuration que vous pouvez utiliser pour le robot lorsque vous l’envoyez au contrôleur de robot ou à un Control Hub.

Contrôle des Versions

Le contrôle de version est un outil extrêmement utile. Il permet de consulter les versions précédentes du code (et d’y revenir), de faciliter la collaboration, d’avoir plusieurs versions du code qui peuvent être fusionnées, etc.

En ce qui concerne les systèmes de contrôle de version, nous recommandons fortement git, en particulier lorsqu’il est utilisé avec une interface graphique comme les outils VCS intégrés à Android Studio ou Github Desktop. Bien qu’un tutoriel git soit hors de portée pour Game Manual 0, voici quelques ressources git :