Exécution de votre application Android sur un périphérique Android
Remonter à Développement d'applications mobiles Android
Sommaire
- 1 La vue sélectionnée à l'exécution dépend du périphérique cible
- 2 Exécution de votre application avec des dossiers de données et de cache nettoyés
- 3 Dépannage
- 3.1 Impossible d'installer <fichier APK>. Echec [INSTALL_FAILED_CONTAINER_ERROR]
- 3.2 Blocage au niveau de la désinstallation sur la boîte de dialogue Exécuter
- 3.3 Solution en cas de message Android 4.0/Kindle Fire : "Application does not support this device"
- 3.4 L'app console Android doit effectuer une pause au démarrage
- 3.5 Impossible de déployer des apps Android si le nom de fichier contient des caractères Unicode
- 3.6 Désinstallation manuelle d'une application Android
- 3.7 Le débogage ne démarre pas ou les points d'arrêt sont ignorés
- 3.8 Le débogage ne détecte pas la sortie de l'application
- 4 Voir aussi
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é.
- 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.
- Dans RAD Studio, sélectionnez Fichier > Nouveau > Application multi-périphérique - Delphi ou Fichier > Nouveau > Application multi-périphérique - C++Builder.
- Dans le Gestionnaire de projets, activez (double-cliquez sur) la plate-forme cible Android.
- Activez le SDK Android pour votre périphérique :
- Dans le Gestionnaire de projets, cliquez avec le bouton droit sur le noeud Android et sélectionnez Propriétés.
- 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
- 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é.
- 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.
- 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 :
- Dans l'EDI, cliquez avec le bouton droit sur le noeud Cible et sélectionnez Actualiser.
- Dans le Panneau de configuration, ouvrez le Gestionnaire de périphériques :
- Vérifiez que votre périphérique Android est listé, en général sous Appareils mobiles.
- 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.
- 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 Alexandria | Outils Android.
- L'image suivante représente un noeud Android cible affichant un périphérique Nexus 10 :
- 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 :
- 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.
- Exécutez votre application :
- Exécutez avec débogage (Exécuter > Exécuter ou
F9
) - Exécutez sans débogage (Exécuter > Exécuter sans débogage ou
Maj+Ctrl+F9
).
- Exécutez avec débogage (Exécuter > Exécuter ou
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 :
- Sélectionnez Exécuter > Paramètres.
- Entrez "-cleaninstall" dans le champ Paramètres :
- 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 :
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 :
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 :
- 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\
- 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 :
- 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).
- Touchez l'application que vous souhaitez désinstaller.
- 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.