この記事は完全な独り言です。
Qpython SL4A Termux
最近Androidでpythonを実行する環境構築に足を突っ込んでしまい、棺いきになってます。迷いの森から抜け出せなくなった状態です。
とりあえず各アプリの雑感について書いておこうと思います。
Qpython
- pythonスクリプトが実行できるが、Qpython上で目的のpythonファイルを選択しで実行する必要がある
- 導入とpythonが実行が簡単なのは間違いなくQpython
- python実行時になぜかシェルが立ち上がる
- androidhelperというモジュールが使えるっぽい
androidhelperには謎が多い。sl4aで使えるandroidモジュールがある。なにが原因かはわからないが、たとえば以下のコードをQpythonで実行してもUIは出現しない
import androidhelper as android droid = android.Android() droid.addOptionsMenuItem("Hello", "menu", 1) droid.addOptionsMenuItem("Exit", "menu", 2) while True: event = droid.eventWaitFor("menu") if event.result["data"] == 1: droid.makeToast("Hello, SL4A") elif event.result["data"] == 2: break droid.clearOptionsMenu()
しかしエラーにはならない。
SL4A + python for android
- どちらもQRコードからapkを入手する必要がある上、python-for-androidにいたっては導入までに2クッションもあり、めんどすぎる
- インストールしたあとなにやればいいかわからない。
- なぜかShellの文字が小さい。(原因不明)
- SL4Aのパスにpythonファイルを設置してもなぜかSL4Aで認識されない
SL4Aに関しては、アプリとはいかないまでもGUIをつくれるっぽいので、これはよいと思っていたが、そもそも原因不明でアプリが使い物にならない。それと情報も少ない。探してないだけかもしれないけど
Termux
TermuxはAndroid上にLinuxの環境を構築できるアプリ。というかアプリ自体がlinuxのシェルになっている。これにpythonやらrubyやらをいれるとpythonが実行できるようになる。シェルスクリプトも動作するため、簡易的なインターフェースを作成することができる。
ちなみにTermux上のパスはスマートフォンのストレージとは隔離されている。(表現はおかしいかもしれないが)しかしTermuxからスマホのストレージもつかえるようにする設定はあるようである。試してはいない。
Termuxこそが最強!と思っていたが、QpythonやSL4Aにあるandroidhelperモジュールやandroidモジュールを使うことができない。そのため自分が一番やりたい。スマホのブラウザオープンがTermuxでは使えないのだ!
沼にはまった感あり
情報検索のループになっておりまずい。あまりにも良い方法にたどりつけないため、久しぶりに質問サイトをつかってみたが、時間の無駄だったようである。回答がつかない。(むしろ回答つかなくてよかったかも)
そもそも論としてパソコンでやればいいだろって少し自分でも思ったが、スマホでやる必要があるのだ。