Kivy 앱의/etc/hosts에 쓰기를 원합니다. 테스트 할 루트 장치가 분명히 있습니다. 몇 가지 방법을 시도했지만 항상 경고 또는 오류없이 내 앱을 종료합니다.Android 용 Kivy를 사용하여 루트로 파일을 읽거나 쓰는 방법은 무엇입니까?
이 나는 시도했다 : 그들 중
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 응용 프로그램 메시지 상자에 권한을 묻는 메시지가 표시되고 "허용"을 눌렀지만 그 후에 내 앱이 종료됩니다.
편집 : 사람이 어떤 제안을 줄 수있는 경우 로그 캣 출력은 http://pastebin.com/YMT5Vxra
많은 감사에서입니다!
그 후에 코드가 있습니까? ['''time.sleep (5)'''] (http://docs.python.org/library/time.html#time.sleep)을 사용하여 5 초간 기다리십시오. '''touch''가 실행을 끝내기 전에 프로그램이 종료되었을 수 있습니다. – FakeRainBrigand
프로그램이 Kivy 플랫폼 아래에 있습니다.이 코드를 버튼 클릭 이벤트에 바인딩합니다. 하지만 그냥 조용히 종료됩니다. –
"adb logcat"에서 로그를 게시 할 수 있습니까? 뭔가 잘못되었을 때 Kivy/Python이 예외를 출력합니다. – tito