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

Android Discussion :

Problème architecture multicouches (C++/JNI/Android)


Sujet :

Android

  1. #1
    Membre chevronné Avatar de anitshka
    Inscrit en
    Mai 2004
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 624
    Par défaut Problème architecture multicouches (C++/JNI/Android)
    Bonjour

    Je commence à bosser sur la partie Android d'un projet. Ce projet est multicouches puisqu"il est basé sur un projet interne codé en C++ (le composant) avec une couche de JNI permettant un accès aux fonctionnalités sur Android (le widget sample) .
    Ce projet est en cours depuis plusieurs mois, et les développeurs se sont succédés, chacun abandonnant le travail à un autre (En général avec joie!).
    Un petit truc important, la couche C++ n'est pas mature... et les bugs détectés sur Android peuvent entrainer des modifications dans la partie C++.

    La procédure actuelle de debug est la suivante.
    Il faut avoir Visual Studio d'ouvert (avec la partie composant en C++) et Android Studio (Avec la partie Android et JNI).
    Certaines vieilles machines ont déjà du mal à supporter que les 2 IDE soient lancés en parallèle.

    Lorsque l'on effectue une modification de la partie composant dans le projet Visual Studio (généré via CMake), il faut relancer le script de build général qui dure près de 10min.
    Puis relancer le déploiement de l'appli sur device android (l’émulateur android studio a toujours été récalcitrant chez moi...)

    Voici le problème majeur de ce projet :
    Donc à chaque modification du code C++, il y a une sacré perte de temps , une source de frustration pour les développeurs et aussi un risque non négligeable d'oubli/d'erreur humaine du au passage entre les différentes des plateformes.

    De plus, les logs dans la partie C++ ne sont pas exportables dans le logcat. Il n'y a pas de debug possible dans la partie C++ en direct à partie de Android Studio.
    Donc a moins d'ajouter des LOG dans la partie C++ et de faire un export dans un fichier texte, il n'est pas possible d'avoir un résultat de statut courant de l’exécution de la partie composant.

    Je me demandais s'il existait des solutions pour permettre de rendre la coexistence de ces 2 environnements plus fluide et de rendre la vie sur ce projet plus supportable aux différents développeurs.

    Bref si vous avez des trucs que vous avez essayé pour avoir un environnement de dev basé sur un composant C++, je suis preneuse de quelques idées !
    Anne

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    J'ai pas encore eu le courage de tester mais sous VS2015 tu peux en principe débuguer du code c++ pour Android :

    http://blogs.msdn.com/b/visualstudio...udio-2015.aspx

    En revanche je pense que ca implique par contre de tout faire sous VS et plus sous AS
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Sinon, j'ai trouvé cette ressource : http://visualgdb.com/tutorials/android/astudio/flavors/

    Je ne sais pas trop si cela peut répondre à ton besoin (n'ayant jamais été dans cette situation, je peux difficilement juger la pertinence).
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  4. #4
    Membre chevronné Avatar de smartties
    Homme Profil pro
    Dev
    Inscrit en
    Février 2010
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Février 2010
    Messages : 222
    Par défaut
    De plus, les logs dans la partie C++ ne sont pas exportables dans le logcat
    C'est à dire ? Ils sont trop gros, ou vous n'arrivez pas à log ? Si c'est le deuxième cas :
    __android_log_print permet de log depuis du code natif(c++).


    Il n'y a pas de debug possible dans la partie C++ en direct à partie de Android Studio.
    Apparement si, pour AS: http://tools.android.com/tech-docs/android-ndk-preview
    Et pour VS : http://visualgdb.com/?features=android
    Pourquoi ne pas utiliser soit exclusivement Android Studio ou exclusivement Visual Studio ?
    Il vous est impossible d'exporter/adapter le projet afin de tout grouper avec soit AS ou VS?


    Sinon sans passer par des interfaces graphiques/IDE, vous pouvez regarder du coté de "ndk-gdb"

    Dernièrement, débbuger du code natif reste une tache ardue

Discussions similaires

  1. Réponses: 21
    Dernier message: 31/10/2012, 21h09
  2. Architecture : Développer un Dictionnaire Android
    Par helper_moi dans le forum Android
    Réponses: 4
    Dernier message: 25/07/2011, 13h46
  3. Firefox : Problème avec multicouche (Trace et marqueurs)
    Par jeanluc35 dans le forum IGN API Géoportail
    Réponses: 11
    Dernier message: 24/01/2010, 20h29
  4. [JNI]Problème de package avec jni
    Par picomz dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 10/08/2006, 15h43

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