thegrosboss Posté(e) 1 mars 2016 Share Posté(e) 1 mars 2016 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 More sharing options...
Invité Posté(e) 1 mars 2016 Share Posté(e) 1 mars 2016 /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 More sharing options...
thegrosboss Posté(e) 1 mars 2016 Auteur Share Posté(e) 1 mars 2016 lol oui je développe, mais pas dans ce language là ! :P Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.