Aller au contenu

autorisations d'écriture et exécution ?


Recommended Posts

Bonjour à tous,

je fais du développement sur android et je me posais une question.

Mon programme installé écrit dans son propre dossier, et les datas se mettent là :

/data/data/fr.societe.nomprog/files

 

Mais mon problème est que les droits du fichier sont juste lecture/écriture et pas exécution !

Et comme je crée un fichier apk, ça ne marche pas terrible ...

 

Est-ce que les droits sont mis en fonction de l'endroit où il est copié ?

 

Téléphone branché en USB, si je copie à la main l'apk dans Download, j'arrive à l’exécuter, par contre mon prog n'a pas le droit d'écrire dans Download à la racine du tel (en réalité /data/media/0/Download à priori).

 

Où ais-je le droit d'écrire un apk qui pourrait s'exécuter ?  :mad:

 

Merci


Bon j'ai eu la réponse

Ici ça fonctionne à merveille :

/mnt/sdcard/Android/data/fr.societe.nomprog/files

Lien vers le commentaire
Partager sur d’autres sites

/data/data/fr.societe.nomprog/app_bin :

 

try {

File file = new File(context.getDir("bin", 0), "nom_fichier_installer");

            copyRawFile(ctx, R.raw.nom_fichier_a_intaller, file, "755");
} catch (bla bla bla
 
 
private static void copyRawFile(Context context, int resid, File file,
                                    String mode) throws IOException, InterruptedException {
        final String abspath = file.getAbsolutePath();
        final FileOutputStream out = new FileOutputStream(file);
        final InputStream is = context.getResources().openRawResource(resid);
        byte buf[] = new byte[1024];
        int len;
        while ((len = is.read(buf)) > 0) {
            out.write(buf, 0, len);
        }
        out.close();
        is.close();
        Runtime.getRuntime().exec("chmod " + mode + " " + abspath).waitFor();
    }
Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...