-
Mise à jour de libraries
Salut tout le monde.
Dans l'application que je développe actuellement en stage, j'utilise des libraries *.so créées avec le ndk. Je les charge donc avec System.loadLibrary.
Seulement j'ai besoin de développer un code permettant de mettre à jour ces librairies et je ne sais pas comment faire. Je sais qu'elle sont stockées dans /data/data/package/lib, mais je n'ai aucun droit sur ce répertoire. Je n'ai pas trouvé de permission pour cela. En plus se pose un autre problème, si j'ai déjà chargé mes libraries avant la mise à jour, je risque d'avoir des problèmes d'accès concurrent, donc peut-on fermer un library charger avec loadLibarry.
Si vous avez des idées sur la manière de procéder, ...
++ 8-)
-
Ca fait maintenant 2 jours que je travaille sur ce problème de mise à jour des libariries sans aucun résultat et ce n'est pourtant pas faute d'avoir essayé. Du coup j'en viens à me dire que je n'ai peut-être pas pris le problème dans le bon sens vu qu'au final la question revient à : comment assurer les mises à jour d'une application android, surtout des appli lourde avec BDD et tout le reste.
J'ai cherché sur internet et je n'ai pas trouvé grand chose. Je sais que quand je test des petits progs, sur l'émulateur ou un tel que l'ancien prog est effacé et que l'on mets le nouveau à la place, encore qu'il reste des fois d'ancienne données. Mais dans le cas de grosse application on ne va pas tout remettre à jour, ce serait beaucoup trop long et trop lourd à télécharger, avec surtout un risque de perdre les données sauvegardées précedemment.
Donc je voudrais savoir comment mettre à jour une application android, ou encore mieux qu'elle puisse se mettre à jour toute seul. C'est possible???
++8-)
-
tu veux mettre à jour les données de l'application (BDD etc) où l'application (apk) ?
Dans les deux cas, tu peux checker sur un serveur (au moyen d'un xml ou autre) si la version que tu possède est la derniere. Si se n'est pas le cas, alors tu télécharge la nouvelle. Par contre, je ne sais pas comment installer ce nouvel apk téléchargé... est ce que c'est "automatique" ou faut il executer une ligne type adb install fichier.apk ? je ne peux pas te dire !
En tout cas, pour mettre à jour, il te suffit de faire un check via un serveur : lecture du fichier contenant la derniere version publiée, comparaison avec la version enregistrée dans l'appli. Si c'est différent (version supérieure par exemple), alors on télécharge la nouvelle version (dont le lien peut par exemple etre enregistré dans le meme xml que la version), sinon, on ne fait rien ! Tout ceci, au lancement de l'appli...
-
ce que je veux mettre à jour, ce sont certaines librairies utilisées par l'apk. Le problème c'est que l'apk sera à terme énorme, je travaille sur un erp, et je voudrais faire des mises à jour localisées, ie ne mettre à jour que les libs qui en ont besoin plutôt que devoir re télécharger tout l'apk, ce qui serait trop lourd. Je sais où sont stockées ces libs mais je n'ai aucun droit sur ce répertoire, et aucun moyen de faire fonctionner l'appli en les mettant dans un dossier auquel j'ai accés.
-
si tu avais les droits sur ce répertoire, je t'aurais répondu d'appliquer en gros la technique que j'ai décrite précédemment mais... en l'occurence si tu n'as pas les droits sur les répertoires de destination des librairies, je ne vois pas comment contourner le probleme... tu peux telecharger les mises à jour, mais pas les déployer dans le bon répertoire... ce qui se résume finalement à un probleme de droits...