QpythonかSL4A+python for AndroidかTermuxか

この記事は完全な独り言です。

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では使えないのだ!

沼にはまった感あり

情報検索のループになっておりまずい。あまりにも良い方法にたどりつけないため、久しぶりに質問サイトをつかってみたが、時間の無駄だったようである。回答がつかない。(むしろ回答つかなくてよかったかも)

そもそも論としてパソコンでやればいいだろって少し自分でも思ったが、スマホでやる必要があるのだ。


Warning: Undefined array key "thumbnail_url" in /home/users/1/boy.jp-rolpop/web/skc/wp-content/themes/godios/inc/schema-org.php on line 49

Warning: Undefined array key "thumbnail_url" in /home/users/1/boy.jp-rolpop/web/skc/wp-content/themes/godios/inc/schema-org.php on line 78