PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile 2024 → Mise à jour apk
Mise à jour apk
Started by Jérémy Pillitteri, Apr., 25 2018 4:52 PM - 9 replies
Posted on April, 25 2018 - 4:52 PM
Bonjour,
je souhaite mettre en place une procédure de mise à jour d'une application Android développée avec Windev Mobile 23 via le téléchargement de l'apk.

Après avoir échoué avec le téléchargement de l'apk en ftp ou via HttpRequette, je me suis tourné vers les webservices.
Voici le code de mon webservice (développé en webdev)
bufferFichier est un buffer
bufferFichier = fChargeTexte("Chemin de mon fichier/monAppli.apk)
renvoyer bufferFichier

et mon code pour récupérer le fichier sur le téléphone (développé en windev mobile)
SI fFichierExiste("/data/data/fr.masociete.monAppli/MAJ/monAppli.apk") ALORS fSupprime("/data/data/fr.masociete.monAppli/MAJ/monAppli.apk")
buffFichier est un Buffer = RecupérationAPKEnqueteSatisfaction()
fSauveBuffer(Par_RepMaj+"EnqueteSatisfaction.apk",buffFichier)

SI fFichierExiste("/data/data/fr.masociete.monAppli/MAJ/monAppli.apk") ALORS
LanceAppliAssociée("/data/data/fr.masociete.monAppli/MAJ/monAppli.apk")
FIN


lorsque je veux exécuter mon apk téléchargé, j'ai le message suivant
Un problème est survenu lors de l'analyse du package


J'ai vérifié, et la fonction fSauveBuffer() me retourne vrai, donc je suppose que j'ai bien téléchargé le fichier.
Le soucis est que je ne peux pas enregistrer le fichier dans un dossier accessible humainement sur le téléphone (Téléchargements ou autres) car j'ai cette fois-ci une erreur m'indiquant que je n'ai pas le droit d'écrire à cet endroit.

Si je prends le même apk, que je le transferts sur le téléphone depuis mon pc et que je le lance, je n'ai aucun soucis.

Est-ce que vous voyez d'où peut provenir le problème?

je vous remercie
Registered member
1,623 messages
Popularité : +100 (114 votes)
Posted on April, 25 2018 - 5:10 PM
Hello,

Sans une histoire d’Unicode liée a fChargeTexte coté serveur et fsauveBuffer de l'autre coté en ANDROID.

En general pour faire transiter des documents via webservices, je les encode en base64 comme ça c'est universel et ça passe très bien partout.
sinon, tu peux utiliser ce code pour télécharger via HTTP, je m'en sers pour les même besoins que toi et ça fonctionne :

https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windevmobile/30696-patch-distance-android-30730/read.awp
Posted on April, 25 2018 - 5:20 PM
je te remercie pour ta réponse.
j'avais essayé l'encodage en 64 bits mais ça ne fonctionnait pas très bien, je vais retenter.

Pour le téléchargement en http, le problème que j'avais était que seulement les 12 premiers ko étaient téléchargés et non l'intégralité de l'application.

Je vais réessayer l'encodage pour le webservice.

Merci
Posted on April, 25 2018 - 5:43 PM
Est-ce que tu pourrais me donner la méthode que tu utilises pour l'encodage, il m'avait semblé le faire avec CrypteStandard() mais je ne retrouve pas de mention d'encodage en 64 bits donc je me demande si c'est bien ce que j'avais testé.

Je te remercie
Posted on April, 25 2018 - 11:56 PM
Jérémy Pillitteri a écrit :
Bonjour,
je souhaite mettre en place une procédure de mise à jour d'une application Android développée avec Windev Mobile 23 via le téléchargement de l'apk.

Après avoir échoué avec le téléchargement de l'apk en ftp ou via HttpRequette, je me suis tourné vers les webservices.
Voici le code de mon webservice (développé en webdev)
bufferFichier est un buffer
bufferFichier = fChargeTexte("Chemin de mon fichier/monAppli.apk)
renvoyer bufferFichier

et mon code pour récupérer le fichier sur le téléphone (développé en windev mobile)
SI fFichierExiste("/data/data/fr.masociete.monAppli/MAJ/monAppli.apk") ALORS fSupprime("/data/data/fr.masociete.monAppli/MAJ/monAppli.apk")
buffFichier est un Buffer = RecupérationAPKEnqueteSatisfaction()
fSauveBuffer(Par_RepMaj+"EnqueteSatisfaction.apk",buffFichier)

SI fFichierExiste("/data/data/fr.masociete.monAppli/MAJ/monAppli.apk") ALORS
LanceAppliAssociée("/data/data/fr.masociete.monAppli/MAJ/monAppli.apk")
FIN


lorsque je veux exécuter mon apk téléchargé, j'ai le message suivant
Un problème est survenu lors de l'analyse du package


J'ai vérifié, et la fonction fSauveBuffer() me retourne vrai, donc je suppose que j'ai bien téléchargé le fichier.
Le soucis est que je ne peux pas enregistrer le fichier dans un dossier accessible humainement sur le téléphone (Téléchargements ou autres) car j'ai cette fois-ci une erreur m'indiquant que je n'ai pas le droit d'écrire à cet endroit.

Si je prends le même apk, que je le transferts sur le téléphone depuis mon pc et que je le lance, je n'ai aucun soucis.

Est-ce que vous voyez d'où peut provenir le problème?

je vous remercie


Le lanceappliassocie ne peut pas fonctionner car l'APL est sur le répertoire de ton application
il faudrait le mettre sur la sdcard interne pour que l'outil d'installation Android puisse y accéder
Posted on April, 26 2018 - 9:09 AM
Bonjour,
J'ai essayé d'enregistrer mon fichier dans /sdcard/Download/ mais l'enregistrement ne se fait pas, le message d'erreur indique que je n'ai pas le droit d'écrire à cet endroit. Voici les permissions de mon application:
android.permission.CAMERA
android.permission.INTERNET
android.permission.WRITE_EXTERNAL_STORAGE

vous pensez qu'il en manque une?

je vous remercie
Registered member
257 messages
Popularité : +35 (37 votes)
Posted on April, 26 2018 - 11:06 AM
Bonjour,
- La récupération via FTP fonctionne très bien... ( et gère les erreurs de download )
- la récupération via Webservice est une solution mais attention qui dit encodage en base 64 dit une augmentation de la taille du fichier a récupérer de 30% à 50%. Donc traitement plus...

Exemple via FTP :
https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windevmobile/30696-patch-distance-android-30698/read.awp
--
Baptiste CLOART
Freelance
b.cloart@blv-tech.com
06.88.74.80.65
www.linkedin.com/in/cloart
www.blv-tech.com
Message modified, April, 26 2018 - 11:11 AM
Posted on April, 26 2018 - 1:21 PM
J'avais essayé le téléchargement par FTP mais j'avais une erreur avec le certificat SSH qui m’empêchait de continuer. Mon serveur FTP est hébergé chez 1and1 et est en FTPS.
J'arrive à me connecté au serveur avec Filezilla mais la fonction FTPConnecte() me renvoie l'erreur de SSH.
J'ai bien renseigné le nom du serveur, l'utilisateur, le mot de passe ainsi que le port.
Posted on April, 27 2018 - 12:09 PM
Bonjour,
j'ai essayé de faire le téléchargement en FTP via un serveur non sécurisé et le téléchargement fonctionne et l'apk est bien enregistré dans le dossier /sdcard/Download/.
Par contre, quand je veux exécuter l'apk pour mettre à jour mon application, j'ai l'erreur suivante "Application non installée - le package semble corrompu".
alors que si je dépose directement l'apk sur mon téléphone, l'application se met à jour correctement.

D'où peut provenir ce problème? Y a t'il des réglages à faire sur le téléphone pour qu'il accèpte les fichiers venant d'un serveur FTP?

je vous remercie
Posted on August, 21 2019 - 11:53 AM
Bonjour,

Avez-vous pu trouver la solution à cette erreur de "package qui semble corrompu". On n'est pourtant pas dans une république bananière

Plus sérieusement j'ai le même problème quand je veux installer un apk après l'avoir téléchargé.

Mon package peut s'installer en android 5 mais pas en android 8.1. le pb c'est que je n'ai pas plus d'information de la part d'android.

Laurent