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 :

Mise à jour d'une appli


Sujet :

Android

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Mise à jour d'une appli
    Bonjour,
    je ne suis pas un dév java, mais je me replonge dedans pour faire une correction de bug mineure sur une appli développée il y a deux ans et là je vis un enfer depuis 2 semaines.
    Tout d'abord les google maps v1 ne fonctionnent plus (cartes toutes grises).
    Après des tentatives infructueuses de les faire remarcher avec ma clé v1 supposée continuer à fonctionner, je passe à la v2 et au minSdkVersion:10
    Ensuite ce sont mes appels aux scripts php qui ne fonctionnent plus avec les Handler, donc je passe aux AsyncTask.
    Puis viennent le tour des GeoPoint que je dois passer aux LatLng.
    Après encore d'autres déboires que je n'ai plus en tête ce sont mes TabActivity qui ne gèrent pas FragmentActivity apparemment indispensables aux maps v2 et il faudrai que je passe en minSdkVersion:11 et si ça se trouve d'ici deux jours elle ne fonctionnera plus que sous Kitkat !

    Bref, je souhaiterai recueillir vos avis et conseils là dessus. La mise à jour de la version IOS s'est faite en une journée...

  2. #2
    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 : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Sur quoi désirerai-tu un avis ?

    Une MaJ prend plus ou moins de temps, dépendant d'énormément de facteurs différents. Tu es développeur Web à priori, donc tu n'as pas ou peu d'expérience en développement mobile. Est-ce toi qui a réalisé la MaJ de l'application iPhone ? Ou une personne ayant une expérience similaire à la tienne par rapport au mobile ?

    Pour la carte V1, elle fonctionne toujours, tu as simplement dû tomber dans le piège classique qu'il y a deux clefs par application : une pour le certificat de debug, une pour le certificat de production. Tu as dû utiliser une avec le mauvais certificat, simplement. LatLng et autre sont des conséquences de la transition et sont compris ensemble. Pour un dév' Android, la migration de la carte V1 à V2 se compte en jour (dépendant de la complexité que celle-ci comporte).

    Pour les appels HTTP, je ne vois qu'une raison pour laquelle tu serais obligé de les changer : une NetworkOnMainThreadException, ce qui implique que, de base, l'application était codée avec les pieds, ce qui augmente de fait le temps nécessaire pour une MaJ.

    Pour les versions supportées, tu n'indiques pas de laquelle tu pars, mais j'imagine de FroYo (2.2). Celle-ci n'est plus à supporter du fait de son très faible pourcentage (~1%). Google préconise de supporter Ice Cream Sandwich (API 15).
    Je ne saisi pas vraiment pour quelle raison as-tu besoin de monter ta minVersion par contre, les bibliothèques de support de Google sont là pour ça. Pour les Fragments, c'est serait la support library v4.

    Ps : oui, je ne fais pas de parallèle avec iOS volontairement car c'est tout bonnement contre-productif ou purement du troll. La mise à jour d'une application Android ou iOS est à mettre sur le même plan que la MaJ de n'importe quelle application.

    Ps ² : il n'y a pas d'attaque envers toi. Je serai moi-même bien en peine de mettre à jour un site web...
    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

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Tout d'abord merci pour tes réponses.

    Pour commencer par ton ps 2, il n'y a aucun soucis, j'avais bien précisé que je n'étais pas un dév Java mais Web. Mais, il y a 2/3 ans dans j'ai dû me mettre sur le tas à Java et objectiveC pour livrer des applis à un client. Et s'y replonger 2 ans plus tard n'est pas évident, donc je n'ai aucun complexe avec ça.

    Concernant le "troll" sur ios, je ne suis absolument pas fan d'Apple et mon téléphone est sous Android, je constatais juste. ;-) Et pour plus de précision mon tél est sous Android 2.3 (18% du parc en mars 2014) d'où ma réticence envers les recommandations de Google.

    Pour revenir au fond du problème, si tu me dis que les cartes v1 fonctionnent toujours, je vais me replonger dans les certificats.
    Par contre, est-ce normal, qu'en exécutant l'appli à partir d'ADT v22.6.2 en mode Run ou Debug, j'ai des cartes avec les "tiles" grises. Mes marqueurs s'affichent bien, ainsi que ma position (rond bleu), le logo Google et la bousole. Je précise que j'ai bien 2 clés (mapskey et mapskey_debug) définient dans le strings.xml

  4. #4
    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 : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Je ne peux pas assurer à 100% que la Map V1 fonctionne toujours, mais je pense que je l'aurai vu sur mes divers flux d'info Android s'il y avait un souci de ce genre. Juste que Google a dit assurer le support.
    Si, quand tu affiches la carte, tu as un warning "Couldn't connect to Factory Client", ça indiquerait qu'il y a un problème de couple clé/certificat. Pour plus de détail/aide/piste/avis, il me faudrait plus d'infos

    Pour installer une application, elle doit être signée avec un certificat. En "normal", c'est avec le android.debug qui est dans le dossier d'installation du SDK Android (quelque part). Je crois que les android.debug ne sont pas les mêmes et changent de signature par installation ou machine, il est donc plus ou moins normal, au regard de ça, que la carte soit grise si tu n'es pas sur la même machine, ou qu'elle a eu une réinstallation, ou...
    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

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci énormément de prendre du temps pour me répondre, je n'ai pas l'habitude de poster d'habitude je m'en sors avec Google

    Effectivement, j'ai bien un "Couldn't connect to Factory Client". Et dans mes backups des fichiers keystore nommés app1key et app2key datant de 2011 donc le PC à sûrement été changé ou réinstallé depuis.

    D'après ce que j'ai compris, il faudrait recréer une nouvelle clé de l'api map avec mon nouveau SHA1 ou MD5 et ce n'est plus possible pour la v1. Est-ce que je me trompe ??
    Pour info, lorsque je signe mon appli avec mon certif, la popup m'affiche des fingerprints SHA1 et MD5 différents de ceux visibles dans Windows->Préférences->Android->Build

  6. #6
    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 : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Là, tu vas douiller un brin.
    Ta clef de debug ne fonctionnera plus, et j'espère que tu as bien le certificat de production. Signe proprement ton application avec le certificat de prod et utilise la clef de prod et vérifie que ta carte s'affiche (tu n'as pas besoin de pousser sur le store pour ça, fais-le en local puis installe de ton poste sur un terminal quelconque). Si ce n'est pas le cas (en t'assurant bien que tu utilises le bon couple clé/certificat), la carte V1 est morte de toute manière et vous ne pourrez plus l'utiliser, ni mettre à jour l'application, ce certificat servant aussi à ça.

    Tu as bien compris. Pour que la carte fonctionne de nouveau en debug, il faudrait que tu génères de nouveau une clef avec ton certificat de debug. Ce n'est plus possible depuis maintenant 2 ans. Donc cette option n'est plus à considérer.
    Pour la signature du certificat, n'utilisant que la console pour la générer et n'utilisant pas Eclipse (mais IntelliJ IDEA), je peux pas te donner plus d'info.
    De base, keytool ne sort plus le SHA-1 de base, et il faut lui demander explicitement avec --verbose (ou -verbose... je ne sais jamais s'il y a un ou deux tirets).

    Donc, soit tu te débrouilles avec la carte V1 et la clef de prod', soit il faut intégralement faire migrer la carte de la V1 à la V2. La seconde solution peut prendre 10 minutes comme elle peut prendre 1-2 semaines, dépendant de l'existant de l'application.

    Sinon, tu n'es pas obligé de faire une API 11 mini. Je suis sur une appli qui supporte l'API 8 (que j'essaie de faire doucement partir...) et j'utilise la carte V2 sans souci. Pour les Fragment, il faut inclure la bibliothèque de support V4 ou V7 et utiliser les classes de rétrocompat' que celles-ci fournissent.
    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

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Ok merci pour toutes ces infos. Ca me semble bien grillé pour la v1 !

    Je vais me tourner vers les classes rétrocompat alors.

  8. #8
    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 : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    N'hésites pas à poser des questions
    Plutôt dans des sujets dédiés que continuer celui-ci (plus facile pour s'y retrouver et pour aider d'autres personnes tombant sur les sujets). Je ne peux pas te promettre des réponses dans un délai raisonnable, mais bon, c'est toujours bon à prendre

    Par contre, je te suggère tout de même de bien vérifier avec le certificat de production, voire d'aller jusqu'à upload un APK "pour rien" (i.e. : sans le publier) pour vérifier que la MaJ sur Google Play est toujours possible. Car si tu passes plusieurs jours/semaines pour faire en sorte que ton app' fonctionne à peu près correctement en tordant l'existant pour te rendre compte à la fin que tu ne peux pas mettre à jour, ça va être galère à gérer et pour le projet et niveau moral.
    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

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bon ben contrairement à tout ce qu'on peut trouver sur le net sur l'intégration des maps v2, nul besoin d'intégrer des Fragment, des MapFragment ou autres ActionBarSherlock.
    Ca marche toujours très bien dans une simple activity du type

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <com.google.android.gms.maps.MapView
    android:id="@+id/map"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>

    </RelativeLayout>
    Et encore merci à toi Hizin

Discussions similaires

  1. Mise à jour d'une table avec un fichier csv
    Par blackangel dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/05/2005, 14h46
  2. Mise à jour d'une bd mysql
    Par joquetino dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 11/01/2005, 14h05
  3. mise à jour d'une table d'interbase sous delphi
    Par kouraichi35 dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/10/2004, 13h09
  4. [FireBird 1.5]Mise à jour d'une SGBD ?
    Par Sitting Bull dans le forum Débuter
    Réponses: 3
    Dernier message: 03/09/2004, 16h45
  5. Pb de mise à jour d'une date
    Par valerie90 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 02/09/2004, 14h11

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