Android用のKivyを使用してRootとしてファイルを読み取り/書き込み方法?
質問
Kivyアプリに /etc /Hostsに書き込みたいと思います。テストするための根付いたデバイスです。いくつかの方法を試しましたが、常に警告やエラーなしでアプリを終了します。
私はもう試した:
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
誰かが提案をすることができればどうもありがとう!
解決
あなたのエラーは、string-escapeが既知のエンコードではないことを示しています。 Kivyは、たとえばすべてのエンコーディングではなく、PythonのLiteバージョンをライブで出荷しています。あなたが試すことができるのは:
- Python-for-androidプロジェクトをつかみます
- プライベート/lib/エンコーディングに移動します
- ファイルをコンピューターからこのディレクトリにコピーします(/usr/lib/python2.7/encodings/string_escape.pyo)
- アプリケーションを再構築します
そうすれば、それはうまくいくはずです。
Kivyが必要なファイルを出荷しないとすぐに、PGS4A-Kivyプロジェクトは良くありません。これが私が始めた理由です Python-for-android 事業。最終的な配布で望むかどうかの力があります。
所属していません StackOverflow