Comment lire le fichier / écriture en tant que root en utilisant Kivy pour Android?

StackOverflow https://stackoverflow.com/questions/8383060

  •  28-10-2019
  •  | 
  •  

Question

Je voudrais écrire à / etc / hosts dans mon application Kivy, et je l'ai sûrement un appareil ancré à tester. J'ai essayé plusieurs façons, mais toujours obtenir ma sortie de l'application sans avertissement ou erreur.

J'ai essayé:

subprocess.Popen("su -c touch /etc/hosts", shell = True)

subprocess.Popen("su -c bash -c touch /etc/hosts", shell = True)

subprocess.Popen(["su", "-c", "bash -c touch /etc/hosts"])

et plusieurs combinaisons d'entre eux. Chaque fois que je peux obtenir la boîte de message d'application su me demander la permission et j'appuyé sur « Autoriser », mais mes sorties app après.

modifier : puissance du logcat est à http://pastebin.com/YMT5Vxra

Un grand merci si quelqu'un peut donner toute suggestion!

Était-ce utile?

La solution

Votre erreur indique que la chaîne-fuite est pas un codage connu. Kivy expédie une version allégée de Python avec leurs libs, pas tous les encodages par exemple. Ce que vous pouvez essayer est à:

  • Grab projet python-for-android
  • Allez dans / private lib / encodages
  • Copiez le fichier de votre ordinateur à ce répertoire (/usr/lib/python2.7/encodings/string_escape.pyo)
  • Reconstruire votre application

Ensuite, cela devrait fonctionner.

Le projet pgs4a-Kivy est pas bon, dès que Kivy n'expédie les fichiers que vous souhaitez. Voilà pourquoi j'ai commencé python-for-android projet . Vous avez le pouvoir de ce que vous voulez ou non dans votre distribution finale.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top