我想在我的 Kivy 应用程序中写入 /etc/hosts,而且我肯定有一个 root 设备来测试。我尝试了几种方法,但总是让我的应用程序退出而没有任何警告或错误。
我试过了:
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"])
以及它们的几种组合。每次我可以得到 su 应用程序消息框询问我是否允许并且我按下“允许”,但之后我的应用程序退出。
编辑:logcat 输出位于http://pastebin.com/YMT5Vxra
非常感谢有人可以提出任何建议!