| 
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile  |  
  |    |    |   |   |   | 
| Mise à jours d'une application Android |  
 | Débuté par Stéphane D., 31 oct. 2025 17:07 - 4 réponses |  
  |   |  
  |    |    |   |  
  |   
 |   | 
Membre enregistré 203 messages |  
  |   
| Posté le 31 octobre 2025 - 17:07 |  
 Bonjour à tous, J'ai trouvé un bout de code sur ce forum que j'ai adapté dans mon appli. J'ai fait une procédure que le lance à l'init de ma première fenêtre. Il fait bien son job jusqu'à l'installation.  Voici le code : 
 SI EnModeAndroid() ALORS
    Res = HTTPRequête("https://www.xxx.fr/GLOBALPLANNING/VERSION.txt")   SI Res = Vrai ALORS     VersionAjour = AnsiVersUnicode(HTTPDonneRésultat())   FIN
    SI Val(VersionAjour) > Val(maVersion) ALORS
      <Compile SI TypeConfiguration=Android>      TitreSuivant("Merci de ne pas quitter l'application, Téléchargement de la mise à jour...")      Sablier()      HTTPDestination(fRepEnCours()+"/GPLANNING.apk")      HTTPRequête("https://www.xxx.fr/GLOBALPLANNING/GPLANNING.apk")      Multitâche(-100)      Sablier(Faux)      SI fFichierExiste(fRepEnCours()+"/GPLANNING.apk") ALORS        TitreSuivant("Lancement de l'installation")      SINON        Erreur("le fichier n'existe pas ...")      FIN      Sablier()            Res = LanceAppliAssociée(fRepEnCours()+"/GPLANNING.apk")            SI Res = Faux ALORS        Erreur(ErreurInfo(errComplet))      FIN
       SI ErreurDétectée ALORS        Erreur(ErreurInfo(errComplet))      FIN      TitreSuivant("")      Multitâche(-100)      Sablier(Faux)     <FIN>   SINON     ToastAffiche("Application GPLANNING à jour.",toastCourt,cvBas,chCentre)   FIN
  FIN  Il trouve bien la mise à jour, il ne tombe dans aucun erreur... Avez vous une idée ? Merci d'avance de vos réponse.
  -- Stéphane. |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |  
 |   | 
Membre enregistré 3 732 messages |  
  |   
| Posté le 01 novembre 2025 - 03:00 |  
 Salut  D'après moi, le souci vient du fait que la destination du fichier ne peut être utilisée que par ton application  Or tu lance une application externe pour installer l'APK  Il faut trouver un emplacement accessible par l'autre programme  De plus, il faudrait que ton application soit fermée pour que la mise à jour fonctionne |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |  
 |   | 
Membre enregistré 203 messages |  
  |   
| Posté le 01 novembre 2025 - 12:10 |  
 Salut  Popoy, Effectivement je comprend ton explication. Le fRepEnCours() n'est pas très judicieux si je ferme l'application... Je regarde cela lundi, et je viendrais mettre le bon de code qui va bien... Un bon week-end.  
  -- Stéphane. |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |  
 |   | 
Membre enregistré 203 messages |  
  |   
| Posté le 03 novembre 2025 - 16:16 |  
 Bonjour à tous, Et bien je viens de faire les modification mais cela ne fonctionne toujours pas... Voici les modification : 
 SI EnModeAndroid() ALORS
    Res = HTTPRequête("https://www.xxx/GLOBALPLANNING/VERSION.txt")   SI Res = Vrai ALORS     VersionAjour = AnsiVersUnicode(HTTPDonneRésultat())   FIN
    SI Val(VersionAjour) > Val(maVersion) ALORS
      <Compile SI TypeConfiguration=Android>      TitreSuivant("Merci de ne pas quitter l'application, Téléchargement de la mise à jour...")      Sablier()      HTTPDestination(SysRepStockageExterne(1,ssePublicTéléchargement)+[fSep]+"GPLANNING.apk")      HTTPRequête("https://www.xxx.fr/GLOBALPLANNING/GPLANNING.apk")      Multitâche(-100)      Sablier(Faux)      SI fFichierExiste(SysRepStockageExterne(1,ssePublicTéléchargement)+[fSep]+"GPLANNING.apk") ALORS        TitreSuivant("Lancement de l'installation")      SINON        Erreur("le fichier n'existe pas ...")      FIN      Sablier()            Res = LanceAppliAssociée(SysRepStockageExterne(1,ssePublicTéléchargement)+[fSep]+"GPLANNING.apk")            SI Res = Faux ALORS        Erreur(ErreurInfo(errComplet))      FIN
       SI ErreurDétectée ALORS        Erreur(ErreurInfo(errComplet))      FIN            Multitâche(-100)      Sablier(Faux)      FinProgramme()     <FIN>   SINON     lib_version += maVersion   FIN
  FIN  Il fait bine le telechargement, je le vois bien dans le répertoire téléchargement du téléphone, il me met bien le message :  
 TitreSuivant("Lancement de l'installation")  Ce message s'affiche que 3 seconde et plus rien. Merci d'avance pour votre aide.
  -- Stéphane. |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |  
 |   | 
Membre enregistré 6 messages |  
  |   
| Posté le 04 novembre 2025 - 14:02 |  
 Bonjour, As-tu les autorisations nécessaires INSTALL_PACKAGES et REQUEST_INSTALL_PACKAGES de mémoire. J'avais développé un système similaire pour palier la complexité du Play Store (et notamment l'obligation des API 35, je suis en WM27) et j'avais rencontré un problème d'interruption de procédure sans aucun message d'erreur (pas de problème en mode GO pendant les tests). Finalement, je suis revenu en arrière car je ne trouve pas ça terrible de forcer les clients à autoriser les applications de source inconnue (malgré la lourdeur de la mise en ligne du Play Store). |  
  |   |  
  |   |  
  |    |    |  |  
  |  
  |    |    |    |   |  
  |    |  |  
  |   |   |  
  |  |  
  |  
  |  
  |