PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → mise à jour APK
mise à jour APK
Débuté par elPato, 05 avr. 2020 19:14 - 18 réponses
Posté le 05 avril 2020 - 19:14
Bonjour

Petit souci lors du téléchargement et installation.
(Android v9 WM25)
Mon appli permet le téléchargement de l'Apk.
Je l'installe dans /Download.
Quand le téléchargement est fini, je le démarre avec lanceAppliAssociée.
Mais Android affiche l'écran de téléchargement et l'utilisateur doit cliquer sur 'installer' pour terminer l'installation.
Evidemment, il serait plus utile que l'installation se fasse toute seule et redémarre automatiquement l'appli.
J'ai beau lire dans le forum les posts qui en parlent, mais je ne vois pas de solution..
-J'ai donné les droits nécessaires (install_request_packages).
Quelqu'un aurait une suggestion ?
Merci !
Membre enregistré
473 messages
Popularité : +20 (20 votes)
Posté le 06 avril 2020 - 10:42
Non il n'y a pas d'autre solution que cliquer sur 'installer' pour terminer l'installation, c'est géré par Android et il n'y a pas de paramètre pour autoriser ca
Membre enregistré
191 messages
Popularité : +3 (3 votes)
Posté le 12 mai 2020 - 00:09
Bonjour,

Comment télécharger l'apk ?

HTTPDestination("/Download/Mon.apk")
HTTPRequête("http://www.lurldemonapk/Mon.apk")
LanceAppliAssociée("/Download/Mon.apk")


Me génère une erreur Impossible de créer le fichier /Download/Mon.apk

Merci d'avance.

Franck
Membre enregistré
794 messages
Popularité : +40 (42 votes)
Posté le 12 mai 2020 - 10:04
Bonjour, le chemin de téléchargement que vous utilisez n'est pas correct. Utilisez par exemple fCacheDir() + "/Mon.apk".

HTTPDestination(fCacheDir() + "/Mon.apk")
HTTPRequête ("http://www.lurldemonapk/Mon.apk")
LanceAppliAssociée(fCacheDir() + "/Mon.apk")


Ruben
Membre enregistré
191 messages
Popularité : +3 (3 votes)
Posté le 13 mai 2020 - 08:32
Bonjour,

Merci ça marche !

Bonne journée

Franck
Posté le 31 août 2021 - 11:37
Bonjour,

Avez-vous testé ce code sous Android 10 ou 11 ?
Je recherche un moyen d'installer un APK pour les mises à jour de mon appli, automatiquement depuis l'appli elle-même après téléchargement par FTP et si ça a toujours bien fonctionné sous Android jusqu'à la version 9, depuis la 10 impossible de le faire fonctionner.
Nous utilisons WM23 et je sais que depuis l'udpate 3 de la version 25 cela est possible via LanceAppliAssociée mais du coup pas avec WM23.
Je recherche donc une autre solution que l'utilisation de cette fonction LanceAplliAssociée en attendant d'éventuellement upgrader ma licence WM. Peut-être qu'avec du code java directement mais je n'y arrive pas on plus?

Si vous avez une idée?

Merci
Membre enregistré
323 messages
Posté le 02 septembre 2021 - 09:45
José a écrit :
> Nous utilisons WM23 et je sais que depuis l'udpate 3 de la version 25 cela est possible via LanceAppliAssociée mais du coup pas avec WM23.

Il me semble que LanceAppliAssociée existe depuis longtemps ou je n'ai pas compris le message ...
Avec Androïd 10/11, il y a moins de libertés avec l'utilisation des dossiers publics et ceux des autres applis. Où copies-tu l'APK que tu charges par FTP ? Au passage, pour que le FTP fonctionne en 4G, il faut utiliser le sftp (port standard 22).
Posté le 03 septembre 2021 - 09:58
Bonjour et merci pour cette réponse,

Oui LanceAppliAssociée existe depuis très longtemps et nous l'utilisions depuis des années pour exécuter un APK téléchargé en FTP dans un dossier sur l'emplacement de stockage interne.
Cela a toujours très bien fonctionné jusqu'à la version 9 d'Android mais depuis la version 10 cette fonction ne fonctionne plus dès lors qu'on veut installer un APK.
Je ne pense pas que l'emplacement de l'apk soit en cause ici, simplement que la sécurité d'Android depuis la version 10 a été renforcée pour éviter qu'une app n'installe un apk qui n'aurait pas été "contrôlé" par Google au travers de son store (sécurité/marketing:/)

Du coup, n'ayant pas pour l'instant l'intention d'upgrader mon WM23 (nous avons la version 24 mais c'est pareil), je recherche une méthode pour continuer à fonctionner par téléchargement interne des mises à jour et exécution automatique depuis l'app.
J'ai essayé plusieurs méthodes en java mais je n'y arrive pas!
Donc si quelqu'un connaissait un moyen, je serais très intéressé.

Merci.
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 03 septembre 2021 - 11:35
L'exemple LST n°85 : Android AppBox fourni un code pour vérifier si les sources inconnu sont autorisés et permet l'installation de l'apk via du java.
Cependant, depuis c'est chaque application demandant l'installation qui doit être autorisée par l'utilisateur
Je n'ai pas d'Android 10 ni 11 pour tester.
Posté le 06 septembre 2021 - 10:18
Bonjour,

La LST 85 est beaucoup trop ancienne et le code java doit être celui que j'ai testé et qu'on trouve un peu partout sur Internet mais qui ne fonctionne malheureusement pas plus sous Android 10.

A ce stade de mes recherches, à part upgrader ma licence WM pour que la fonction LanceAppliAssociée fonction pour els apk, je ne vois pas d'autre solution !?
Pourtant je resté persuadé qu'en java on doit pouvoir le faire mais je n'arrive pas à trouver les infos ou mieux des exemples.

Merci.
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 06 septembre 2021 - 18:33
Je n'ai pas d'Android 10 pour tester mais je pense qu'il faut tester qu'en même
Posté le 07 septembre 2021 - 10:57
C'est un projet WEBEV et nous n'avons pas WEBDEV.
Mais vu que sa date de 2012 je suis certain que ça ne fonctionne plus sou Android 10.

Merci quand-même.
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 07 septembre 2021 - 14:46
Je suis désolé de te dire qu'il y a un projet windev mobile
Et que celui-ci contient un code java
Qui fonctionne encore sous Android 9
Après il se peut que l'on doit l'actualiser pour Android 10 et 11
Dans ce cas en fournissant le code , tu peux demander de l'aide dans un forum Java
Encore faut-il faire un petit effort
Posté le 08 septembre 2021 - 09:19
Merci pour tes conseils.

J'ai pu malgré-tout lire le code Java présent dans la LST et effectivement la méthode utilisée fonctionnait jusqu'à Android 9 comme je l'avais dit et testé d'ailleurs...
Par contre, comme je le disais aussi, cela ne fonctionne pas sous Android 10 car la sécurité a été renforcée pour ce qui concerne l'installation des APK en dehors du Play Store.
C'est pour cela qu'un update avait été fourni par PCSOFT dans WM25 pour que leur fonction LanceAppliAssociée puisse à nouveau fonctionner avec un APK.

N'ayan que la version 23 et vouant éviter d'upgrader ma licence WM, j'ai donc fait beaucoup de recherches et d'efforts pour trouver et tester du code java et pour l'instant je n'arrive à rien de fonctionnel.

Donc si tu as d'autres conseils pour faire avancer mon problème, ils seront les bienvenus.

Merci.
Membre enregistré
473 messages
Popularité : +20 (20 votes)
Posté le 08 septembre 2021 - 21:28
Tu vas trouver ça dans LST 121 WM_AutoUpdate
_AutoUpdateFaireInstall_Android_Package(sFichierAPK)

L'exemple est fourni pour WM25 mais cette procedure java fonctionne aussi avec WM23
Posté le 09 septembre 2021 - 10:36
Bonjour et merci pour cette info!

Par contre, comment ouvrir ces procédures java sans avoir WM25 ?
Posté le 09 septembre 2021 - 11:34
Du coup, si tu peux m'envoyer le code java de la procédure en question ce serait très sympathique.

Merci.
Posté le 14 septembre 2021 - 11:03
Bonjour,

Quelqu'un pourrait-il me copier le code java de la procédure _AutoUpdateFaireInstall_Android_Package(sFichierAPK) ?
J'ai bien la LST mais pas la version 25 de Windev pour pouvoir ouvrir la collection de procédures.

Merci par avance.
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 14 septembre 2021 - 17:44
C'est un exemple payant
Tu peux l'acheter sur cette page
https://www.pcsoft.fr/lst/bdc-old-lst.htm