我想在我的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 app消息框询问我是否允许并按下“允许”,但我的应用程序在此之后退出。
编辑:logcat输出为http://pastebin.com/YMT5Vxra
非常感谢有人提出任何建议!
答案 0 :(得分:2)
您的错误表明string-escape不是已知编码。 Kivy正在发布一个精简版的Python及其libs,而不是所有的编码。您可以尝试的是:
那应该可行。
一旦kivy没有发送你想要的文件,pgs4a-kivy项目就不好了。这就是我开始python-for-android项目的原因。在最终发布中,你将拥有你想要或不想要的力量。