Android用のKivyを使用してRootとしてファイルを読み取り/書き込み方法?

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

  •  28-10-2019
  •  | 
  •  

質問

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 事業。最終的な配布で望むかどうかの力があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top