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

Composants FMX Delphi Discussion :

Droit d'accès au fichier de paramètres refusé après chaque compilation [Android]


Sujet :

Composants FMX Delphi

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 400
    Par défaut Droit d'accès au fichier de paramètres refusé après chaque compilation
    Je n'avais pas ce problème jusqu'à maintenant, mais je ne crois pas avoir changé quelque chose dans les options.
    Je lis un fichier de paramètres stocké dans un sous-répertoire de documents auquel j'accède par System.IOUtils.TPath.GetSharedDocumentsPath+'/'+nomapplication.
    A chaque fois que je recompile le programme, même sans changer quoi que ce soit dans le source, l'accès au fichier de paramètre est refusé (denied) et il faut que je supprime et recrée le fichier de paramètres.
    J'ai aussi un fichier txt de traçage pour débuguer et lui non plus n'est plus accessible dès que je recompile le programme.
    Dans les options du programme, le code de version est indiqué "Incrémenter automatiquement pour le magasin d'applications", et même si j'essaye de mettre "Ne pas modifier", cela revient toujours à l'option précédente.
    De toute façon, je suis en config de construction Debug, donc ça ne devrait pas avoir d'incidence ?
    Et même lorsque je suis en Release, je suis en configuration Développement.

    Je n'y comprends plus rien.

    Quelqu'un a-t-il déjà rencontré le même problème ? Je ne sais pas si ça vient de delphi ou d'une nouvelle nouveauté nouvelle de chez android, mais ça devient très pénible de développer de cette manière.

    Merci d'avance à qui pourra me mettre sur une piste.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 798
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 798
    Billets dans le blog
    65
    Par défaut
    Bonjour,
    Citation Envoyé par navyg Voir le message
    Je ne sais pas si ça vient de delphi ou d'une nouvelle nouveauté de chez android, mais ça devient très pénible de développer de cette manière.
    réponse de normand, un peu des deux
    La version de Delphi pour commencer : il y a eu des changements avec les paquets nécessaires (de mémoire D11) du coup il fallait faire une opération de "mise à jour" des bibliothèque android nécessaires
    Mais comme c'est à cause des nouvelles "normes" Androïd le gros coupable reste donc Google qui tous les ans ajoute des restrictions "pour notre bien".
    Donc si tu fais une mise à jour Androïd sur ton téléphone tu as a de grandes chances de te retrouver comme Rocky Balboa

    Tu n'indique pas comment tu attribues tes permissions, à mon avis tu as certainement besoins des
    'android.permission.READ_EXTERNAL_STORAGE'
    'android.permission.WRITE_EXTERNAL_STORAGE'
    qu'il va te falloir demander/vérifier au niveau de ton programme
    Tu trouveras des exemples de demande de permissions dans les démos répertoire Object Pascal/Mobile Snippets ou sur github https://github.com/Embarcadero/RADSt...ile%20Snippets

    Trop compliqué ! Oui très certainement (beaucoup de code ) aussi, Adriano Santos a concocté un composant, totalement libre, que l'on peut trouver sur GitHub ou directement via Getit (ici avec une version 12.1)
    Nom : Capture.PNG
Affichages : 208
Taille : 29,2 Ko
    P.S. j'ai l'impression que via Getit tout n'est pas complètement Ok (composant uniquement dispo pour ... Win32 je conseille donc une bonne lecture du readme.md du dépôt

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 400
    Par défaut
    Tu n'indique pas comment tu attribues tes permissions, à mon avis tu as certainement besoins des
    'android.permission.READ_EXTERNAL_STORAGE'
    'android.permission.WRITE_EXTERNAL_STORAGE'
    qu'il va te falloir demander/vérifier au niveau de ton programme
    Alors justement il m'avait semblé que ce n'était plus besoin de procéder à ces demandes par programmes depuis 12 (.2 ?) et la dernière version d'android, et qu'il suffisait de cocher les cases correspondantes dans les options pour que le manifest soit mis à jour et en tienne compte.
    Mais tu as peut-être raison et je vais commencer par décommenter ces lignes que j'avais neutralisées.

    Cela étant, si je pars de 0 et que l'appli sauvegarde son propre fichier, après je peux lire et écrire sur ces fichiers sans problème. C'est juste si je recompile que je n'ai plus les droits d'accès.

    Merci.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 400
    Par défaut
    Bon alors j'ai rétabli le système de permissions, mais ça me fait toujours la même chose, c'est pire, maintenant les permissions me sont indiquées comme refusées, mais ça marche quand même ????
    Dès qu'il y a compilation, les droits sur les fichiers de la version précédente ne sont plus accordés.
    Si je pars sans fichier il n'y a aucun problème, je peux les créer, les relire, récrire ... mais pas si c'est celui compilé 10 minutes avant ... je cale

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 400
    Par défaut
    Impossible de trouver une solution. Je suis dans le dur là ... mais peut-être est-ce "normal" pour android. C'est quand même bizarre qu'une nouvelle version d'une application ne puisse pas relire les paramètre utilisés par une version précédente...??

    Ou alors je ne fais pas comme il faut ?

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 400
    Par défaut
    Alors, ça y est j'ai trouvé ce qui se passait !
    Donc je le livre en pâture à tout ceux que ça pourrait intéresser :
    Cela n'a rien à voir avec les droits android.
    Comme j'avais parfois des erreurs lors de la compilation et installation sur le téléphone j'ai eu un message de conseil qui me disait de mettre -cleaninstall dans les paramètres d'exécution.
    Et tous mes problèmes venaient de là.
    J'ai eu une illumination au bout du 4569876594358ème essai en me disant que peut-être tout était supprimé par ce paramètre d'exécution, y compris les droits sur les fichiers.
    J'ai donc supprimé ce paramètre d'exécution et ... miracle après une nouvelle compilation, je peux toujours lire le fichier de paramètres.
    Ce qui m'a mis la puce à l'oreille c'est que même quand je mettais le fichier dans "GetDocumentsPath" qui est le sous-répertoire files de l'application, je ne retrouvais plus rien.

    Bon je peux mettre ce sujet comme résolu !

    Mais c'était quand même très vicieux comme problème !

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 798
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 798
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par navyg Voir le message
    Comme j'avais parfois des erreurs lors de la compilation et installation sur le téléphone j'ai eu un message de conseil qui me disait de mettre -cleaninstall dans les paramètres d'exécution.
    Mais c'était quand même très vicieux comme problème !
    Merci, je ne connaissais pas de paramètre.
    Je comprends pourquoi je n'arrivai pas à reproduire ! Dire que j'avais rédigé une réponse (malheureusement non postée cause fausse manip) t'indiquant que je ne reproduisait pas le problème n'aurais servi à rien

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 400
    Par défaut
    Je suis ravi d'avoir appris quelque chose à un mvp

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 798
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 798
    Billets dans le blog
    65
    Par défaut
    D'un autre côté, MVP ne veut pas forcément dire : "connait tout de Delphi" mais plutôt "communique sur Delphi" (même si, en ce moment, je me cantonne uniquement sur DVP)

    Mes dernières expériences Android, m'ont fait toucher du doigt que je suis noob question gesture manager et à peine plus doué niveau TImage.
    Ma pause, post départ à la retraite, me montre aussi que j'ai, ces quelques mois, perdu pas mal de reflexes
    en exemple :
    Galère pour retrouver les photos de mon mobile (j'ai pu constater que Copilot n'était pas si efficace que ça)
    Galère pour remplir un simple TListBox (à partir du répertoire DCIM/Camera) et surtout utiliser correctement pour afficher l'image
    etc..
    et ça ce n'est que pour Android ce dimanche dernier.

    Je me suis aussi lancé le défi du SpeechtoText hors internet (et sans passer par phython4delphi) là aussi, même si je ne suis pas un grand fan de l'IA , finalement l'utilisation de l'IA de la version 12.2 je commence à apprécier, mais je ne suis pas arrivé au port, loin de là, je continue de ramer.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Droits d'accès aux fichiers
    Par Razgriz dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 03/07/2007, 16h55
  2. Réponses: 6
    Dernier message: 21/04/2007, 21h08
  3. Droits d'acces aux fichiers dans dossier en partage
    Par catoucat dans le forum Windows XP
    Réponses: 3
    Dernier message: 03/07/2006, 03h47
  4. [Configuration] droits d'accès aux fichiers
    Par drommk dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 20/06/2006, 18h31
  5. [Tomcat]Droit d'accès aux fichiers créés par une servlet
    Par loulouleboss dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 15/07/2004, 15h32

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