2021年8月19日木曜日

Python で Android アプリ開発 (もどきに戻る)

今までのあらすじ:
・Android で Python/kivy スクリプトを動かしたい
・スクリプトを実行するためには Pydroid 3 起動,スクリプトをエディタで開く,実行 の 3ステップが必要でめんどい
・apk 化したら起動は楽だがスクリプトの利点が削がれる ←いまここ


で Github を色々探してみると,Kivy-Launcher というアプリ発見.これは Python スクリプトのリストを表示して,選択・実行できる.これも Python/kivy/buildozer で実現されており,ということはこの環境でストレージ上の Python スクリプトを実行する手段はあるということ.

次に,buildozer でビルドしたアプリに暗黙的インテント (Windows で言うところの拡張子関連付けみたいな情報をアプリ側に持たせる) を追加する手段があるか探してみたところ,あったよ... この時点で勝利を確信ヽ(´ー`)ノ

というわけで以下を実施.
・Kivy-Launcher を fork
・暗黙的インテントを追加
・起動直後のインテント解析等を行う python スクリプト (main.py) は,このままだと apk に内蔵されてしまい修正がめんどくさいので,main.py から SD カード上の main.py を呼ぶように修正し,起動後のスタートアップ処理は後者で処理する

適当なアプリで Python スクリプトへのショートカットを作り,これをタップするだけでスクリプト起動した.

更に main.py を SD カード上に置いたことにより色々やりやすくなり,例えば標準だと Python のエラーメッセージは adb logcat でしか見れない (PC と 要 USB 接続) が,main.py で try~exception でエラーをキャッチしてメッセージを画面上に表示することで,スマフォ単体でエラーが確認できるとか,色々改良しやすい.

やっとことさ理想の環境を手に入れたよヽ(´ー`)ノ

0 件のコメント:

コメントを投稿