IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Delphi, Linux, Android & VirtualBox


Sujet :

Delphi

  1. #1
    Expert confirmé Avatar de sergio_is_back
    Homme Profil pro
    Consultant informatique industrielle, développeur tout-terrain
    Inscrit en
    Juin 2004
    Messages
    1 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Consultant informatique industrielle, développeur tout-terrain
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 127
    Points : 5 809
    Points
    5 809
    Par défaut Delphi, Linux, Android & VirtualBox
    Salut à tous,

    Passé Freelance depuis quelques temps, j'ai résolu de ne plus utiliser Windows pour passer sous Linux (Rocky Linux 9 pour ceux que ça intéresse avec le bureau KDE) car j'en ai soupé des multiples versions de Windows.

    Il m'a fallu cependant, pour reprendre un projet Android sous Delphi configurer une machine virtuelle Windows et pouvoir lancer l'application en debug avec Delphi, sur un périphérique Android, les émulateurs c'est bien mais ça a ses limites comme tout le monde le sait.

    J'ai une licence Delphi 11

    Pour la virtualisation j'ai choisi VirtualBox, que je connais bien pour l'avoir de nombreuses fois utilisée.

    La machine invitée est un Windows 10 pro, après avoir essayer un échec avec Windows 11, qui ne fait que consommer du processeur et qui est peu réactif, même avec beaucoup de RAM (16 go) et très lourd par rapport à Windows 10

    Donc installation de Delphi 11 (merci mon fichier .slip) avec la plateforme Android, jusque là tout va bien

    Maintenant il faut connecter le périphérique Android et la machine virtuelle Windows, c'est là que ça se gâte un peu...

    Mon périphérique est bien détecté par Linux, j'ai installé Android Studio et je peux déployer une application depuis Linux sans problème, mais pas depuis Windows

    1. Bon déjà j'ai oublié d'installer l'extension pack de VirtualBox pour que celui-ci puisse voir et adopter les périphériques USB 2.0, c'était la fin de journée

    2. Le lendemain, après avoir installé le pack d'extension, je ne vois toujours aucun périphérique USB (alors que j'ai un disque externe, une caméra, un casque, etc... le tout sur USB)

    Après ceci, le client n'étant pas pressé, je vague à d'autres occupations...

    3. De retour sur le sujet, je me dis que c'est pas normal de ne pas voir les périphériques USB sur VirtualBox (alors que Linux les voient lui) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    [sergio@device-13 ~]$ lsusb
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 004: ID 04f2:b729 Chicony Electronics Co., Ltd Chicony USB2.0 Camera
    Bus 001 Device 003: ID 0d8c:0289 C-Media Electronics, Inc. USB Advanced Audio Device
    Bus 001 Device 005: ID 8087:0026 Intel Corp. AX201 Bluetooth
    Bus 001 Device 009: ID 0480:0900 Toshiba America Inc MQ04UBF100
    Bus 001 Device 008: ID 8086:0808 Intel Corp. USB PnP Sound Device
    Bus 001 Device 017: ID 12d1:107e Huawei Technologies Co., Ltd. P10 smartphone
    Bus 001 Device 006: ID 248a:8353 Maxxter Wireless Receiver
    Bus 001 Device 002: ID 0424:2744 Microchip Technology, Inc. (formerly SMSC) Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Quelques recherches plus loin (et quelques essai infructueux), je tombe sur une discussion (sur StackOverFlow qui traite de ce sujet)

    En résumé, sous Linux, VirtualBox s'exécute dans la session utilisateur avec vboxusers comme groupe, et pour pourvoir accéder aux périphériques USB, votre compte utilisateur Linux doit appartenir au groupe vboxusers, pour se faire, rien de plus facile :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sudo usermod -aG vboxusers <monuserlinux>
    Après fermeture, réouverture de la session et relance de la machine virtuelle, celle-ci voit enfin les périphériques USB, je me dis, que c'est OK maintenant

    QUE NENNI !!

    Dans la machine virtuelle Windows, bien que j'ai capturé mon périphérique Android, Delphi refuse de le détecter, pire à la compilation il demande si je veux mettre à jour le SDK Android ?

    4. Je désinstalle et réinstalle la plateforme Android, mais idem, impossible de compiler déjà, sans parler de déployer

    Bon là je me dis que je vais déjà lancer un adb list pour voir s'il voit au moins quelque chose... Et là impossible de trouver adb.exe sur le disque de la machine virtuelle, normalement avec Delphi il est dans C:\Users\Documents\Embarcadero\Studio\<Version>\CatalogRepository\<version du SDK Android>\Platform-tools\

    En fait je ne sais pas pourquoi, mais une grosse partie du SDK n'est pas là, alors que pour le NDK c'est OK

    5. Pour ne pas me faire suer à installer un JDK j'ai opté pour "Eclipse Terumin OpenJDK 11" à l'installation de RAD Studio me disant que c'était bon pour ce que j'ai à faire...

    Grossière erreur :


    A l'installation, GetIt installe le JDK puis les outils du sdkmanager d'Android, or il s'avère qu'il s'agit de la dernière version du SDK manager et celle-ci n'est pas compatible avec Eclipse Terumin OpenJDK 11, il faut au moins JDK 17 pour qu'elle fonctionne
    Mais ce qui est encore plus retors, c'est qu'il n'y pas de message d'erreur lorsque l'installeur va lancer les commandes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    sdkmanager -install "platform-tools" 
    sdkmanager -install "build-tools;32.0.0"
    sdkmanager -install "platforms;android-32"
    Tout semble se passer bien mais il manque en fait la moitié des outils pour Android !!!

    6. Après avoir compris et installé un JDK plus récent, j'ai pu installé ce qui manquait avec sdkmanager et maintenant je peux développer sous Android dans une machine virtuelle Windows 10 sous Linux !!!

    Bref, après avoir un temps, envisager de remonter une machine physique Windows, je peux développer tranquillement en restant principalement le reste du temps sous Linux !!!

    Nom : Screenshot_20240628_143107.png
Affichages : 112
Taille : 16,1 Ko

    Voila c'était un petit résumé de mes péripéties, si un jour ça peux servir à quelqu'un !

  2. #2
    Membre éprouvé Avatar de der§en
    Homme Profil pro
    Chambord
    Inscrit en
    Septembre 2005
    Messages
    796
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Chambord
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2005
    Messages : 796
    Points : 1 044
    Points
    1 044
    Par défaut
    Merci de tes explications !

Discussions similaires

  1. Lancement Delphi Xe5 Android
    Par John Colibri dans le forum Delphi
    Réponses: 10
    Dernier message: 16/09/2013, 14h40
  2. Interaction entre delphi et android
    Par vince1177 dans le forum Bases de données
    Réponses: 6
    Dernier message: 18/10/2012, 10h40
  3. utiliser android dans virtualbox pour le debug
    Par yan dans le forum Android
    Réponses: 4
    Dernier message: 19/03/2010, 23h22
  4. [Mission/Télétravail] Développement logiciel sur mesure (UML/C/C++/C#/Java/OpenGL/Windows/Linux/Android)
    Par ideoservo dans le forum Demandes
    Réponses: 0
    Dernier message: 20/06/2009, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo