Exécution de votre application Android sur un périphérique Android

De RAD Studio
Aller à : navigation, rechercher

Remonter à Développement d'applications mobiles Android


Après avoir préparé votre système de développement pour le développement Android, activé le débogage USB dans votre périphérique Android et configuré votre système de façon à détecter votre périphérique Android, vous pouvez exécuter une application multi-périphérique sur un périphérique Android connecté.

  1. Connectez votre périphérique Android à votre système de développement en utilisant le câble USB de votre périphérique.
    Votre périphérique Android devrait être listé sous Appareils mobiles dans le Gestionnaire de périphériques (disponible dans le Panneau de configuration).
    Pour de plus amples informations, voir Configuration de votre système pour détecter votre périphérique Android.
  2. Dans RAD Studio, sélectionnez Fichier > Nouveau > Application multi-périphérique - Delphi ou Fichier > Nouveau > Application multi-périphérique - C++Builder.
  3. Dans le Gestionnaire de projets, activez (double-cliquez sur) la plate-forme cible Android.
  4. Activez le SDK Android pour votre périphérique :
    1. Dans le Gestionnaire de projets, cliquez avec le bouton droit sur le noeud Android et sélectionnez Propriétés.
    2. Dans Propriétés de la plate-forme, cliquez sur la flèche vers le bas dans le champ SDK (Software Development Kit) et sélectionnez l'une des options suivantes :
      • Votre version SDK Android installée, si elle est affichée
      • Ajouter nouveau
        1. Dans la boîte de dialogue Ajouter un nouveau SDK, cliquez sur la flèche vers le bas dans le champ Sélectionner une version SDK et sélectionnez votre SDK Android installé.
        2. Complétez les champs de l'expert Créer un nouveau SDK Android. La plupart des champs sont complétés automatiquement par l'expert.
  5. Activez votre périphérique Android en tant que plate-forme cible : Dans la plate-forme cible Android du Gestionnaire de projets, ouvrez le noeud Cible et double-cliquez sur votre périphérique Android.
    Quand votre périphérique Android est correctement installé, le numéro de version du SDK apparaît après le nom de la cible Android ; par exemple :
    Android - Android SDK 22.0.1
    Conseils : Si votre périphérique n'est pas présenté, essayez ces étapes :
    1. Dans l'EDI, cliquez avec le bouton droit sur le noeud Cible et sélectionnez Actualiser.
    2. Dans le Panneau de configuration, ouvrez le Gestionnaire de périphériques :
      1. Vérifiez que votre périphérique Android est listé, en général sous Appareils mobiles.
      2. Si votre périphérique n'est pas listé, cliquez avec le bouton droit sur un noeud et sélectionnez Rechercher les modifications sur le matériel.
      3. Si nécessaire, utilisez le Gestionnaire de SDK Android pour désinstaller puis réinstaller le pilote pour votre périphérique Android. Sélectionnez Démarrer | Tous les programmes | Embarcadero RAD Studio Sydney | Outils Android.

    L'image suivante représente un noeud Android cible affichant un périphérique Nexus 10 :
    AndroidPopulatedNode.png
  6. Si vous avez sélectionné la configuration de plate-forme Magasin d'applications sur le noeud Configuration du Gestionnaire de projets, vous devez avoir un certificat signé configuré pour la plate-forme de configuration Magasin d'applications sur la page Approvisionnement. La configuration de plate-forme Développement ne requiert pas de certificat de signature.
  7. Exécutez votre application :

RAD Studio construit votre application pour Android et l'exécute sur le périphérique Android sélectionné. Si l'écran de votre périphérique Android est verrouillé, déverrouillez-le pour accéder à votre application.

La vue sélectionnée à l'exécution dépend du périphérique cible

Lors du développement d'une app Android, vous pouvez indiquer des vues dans le Concepteur de fiches si vous souhaitez cibler des périphériques différents.

Lorsque votre application s'exécute sur un périphérique Android, l'exécutable interroge le périphérique pour déterminer la taille et la densité de pixels de l'affichage. L'exécutable examine ensuite les vues disponibles dans votre application pour déterminer quelle vue correspond le plus. Cette vue est sélectionnée et redimensionnée pour correspondre à la taille exacte indiquée par le périphérique.

Pour afficher l'algorithme utilisé lors de la sélection de vues et la plage de tailles correspondant à chaque vue Android, voir Utilisation des vues FireMonkey.

Pour plus de détails sur les vues FireMonkey, voir :

Exécution de votre application avec des dossiers de données et de cache nettoyés

Quand vous exécutez une application sur un périphérique Android, RAD Studio installe votre application sur votre périphérique en utilisant le nom du package que vous avez défini dans la page d'options Informations de version afin d'identifier votre application de façon unique. Par défaut, le nom du package est com.embarcadero.$(ModuleName), où $(ModuleName) représente le nom de votre projet, par exemple "Project1".

Si vous exécutez votre application sur un périphérique qui contient déjà une application précédemment installée avec le même nom de package que l'application que vous souhaitez exécuter, la commande Exécuter réinstalle votre application, mais met uniquement à jour l'exécutable de l'application ; les dossiers du cache et des données de l'application ne sont pas mis à jour. La préservation des dossiers de données et de cache peut poser un problème pendant le développement lorsque vous avez besoin de déboguer/déployer des itérations successives de votre app.

Vous pouvez configurer RAD Studio afin que les actions Exécuter sans débogage et Exécuter désinstallent complètement toutes les versions précédemment installées de votre application, y compris les dossiers des données et du cache. Pour ce faire, avant d'installer la nouvelle version, utilisez les étapes suivantes :

  1. Sélectionnez Exécuter > Paramètres.
  2. Entrez "-cleaninstall" dans le champ Paramètres :
    RunParametersCleanInstall.png
  3. Cliquez sur OK pour enregistrer les modifications.

Dépannage

Impossible d'installer <fichier APK>. Echec [INSTALL_FAILED_CONTAINER_ERROR]

Sélectionnez Projet > Options > Informations de version et changez la valeur de "installLocation" en auto.

Voir Qu'est ce que signifie : Echec [INSTALL_FAILED_CONTAINER_ERROR (EN)]? pour de plus amples informations et des solutions alternatives.

Blocage au niveau de la désinstallation sur la boîte de dialogue Exécuter

Il est possible que vous deviez activer le débogage USB spécifiquement pour votre ordinateur si vous exécutez Android 4.2.2 ou ultérieur et que, lorsque vous cliquez sur Exécuter ou Exécuter sans déboguer, RAD Studio n'aille pas au-delà de l'écran suivant :

StuckAtUninstallingOnTheRunDialogBox.png

Il se peut également que vous deviez activer le paramètre de débogage USB général dans votre périphérique. Si c'est le cas, votre périphérique doit afficher une boîte de dialogue vous demandant d'autoriser le débogage USB :

AndroidEnableUSBDebuggingDialog.png

Cliquez sur OK pour autoriser le débogage USB.

Si vous cliquez accidentellement sur Annuler, déconnectez votre périphérique de votre PC et reconnectez-le de façon à faire réapparaître la boîte de dialogue sur votre périphérique.

Solution en cas de message Android 4.0/Kindle Fire : "Application does not support this device"

Lorsque vous tentez d'exécuter une app Android sur un périphérique s'exécutant sous Android 4.0.x (y compris certains périphériques Amazon Kindle Fire), le message suivant peut s'afficher :

 Application does not support this device

Pour contourner ce problème :

  1. Dans l'EDI, ouvrez le Gestionnaire de déploiement (Projet > Déploiement), et localisez l'entrée suivante :
    Nom local : libnative-activity.so
    Chemin distant : library\lib\armeabi\
  2. Décochez l'entrée pour éviter le déploiement de ce fichier.

L'app console Android doit effectuer une pause au démarrage

Lorsque vous exécutez une app console Android, il se peut que celle-ci s'exécute jusqu'à la fin avant que le débogueur puisse démarrer. Pour éviter ce problème, nous vous suggérons d'ajouter une commande sleep au début de votre code. Par exemple :

sleep(3000)

Le nombre sleep (spécifié en millisecondes) qui fonctionne pour votre application dépend des performances globales de votre périphérique cible ; c'est-à-dire qu'un matériel lent exige un temps d'attente plus long.

Impossible de déployer des apps Android si le nom de fichier contient des caractères Unicode

Une app Android peut ne pas démarrer sur le périphérique si le déploiement contient un fichier avec des caractères Unicode. Par exemple, si vous ajoutez un fichier nommé 'test試験.txt' à un déploiement Android, seul un écran noir apparaît et l'app se ferme. Cela se produit car un fichier avec des caractères Unicode dans le nom du fichier est ignoré et n'est pas ajouté au fichier Android .apk. L'app échoue à cause du déploiement incomplet.

Désinstallation manuelle d'une application Android

Pour désinstaller manuellement une application Android :

  1. Allez sur le menu des paramètres de votre périphérique : Paramètres > Apps ou Gestionnaire d'applications (peut être différent selon votre périphérique).
  2. Touchez l'application que vous souhaitez désinstaller.
  3. Touchez uninstall.

Le débogage ne démarre pas ou les points d'arrêt sont ignorés

Il est possible que, dans certaines situations spécifiques, le débogage ne démarre pas à chaque fois ou que vos points d'arrêt sont ignorés. Une raison possible : la valeur du paramètre installLocation du fichier manifeste de l'application est définie sur preferExternal. Vous pouvez changer ce paramètre dans l'EDI dans Projet > Options > Informations de version. Définissez-le sur auto et assurez-vous que l'espace libre est suffisant sur le stockage interne (sinon l'application effectue l'installation sur le stockage externe).

Le débogage ne détecte pas la sortie de l'application

On peut avoir l'impression que le débogueur n'est pas capable de détecter la sortie de l'application, mais c'est un comportement tout à fait normal. Chaque application Android s'exécute dans son propre processus Linux qui continuera à s'exécuter tant que c'est nécessaire et jusqu'à ce que le système demande à récupérer la mémoire (pour plus d'informations, voir https://developer.android.com/guide/topics/processes/process-lifecycle.html (EN)). Comme le processus de l'application continue à s'exécuter, on peut avoir l'impression que le débogueur est en panne alors qu'il continue de déboguer le processus en cours d'exécution. Pour terminer ce processus dans le débogueur, cliquez sur Terminer.

Voir aussi