PythonでAndroidアプリ作成してみる #1 環境構築とテスト
今回はPythonでスマホアプリの開発をやっていきます。
昔にCordovaでJavaScript+HTMLでアプリを作ったことはありますが、やはりPythonの方がやりやすいのでないかなと何となくAIに質問したところkivy&buildozerという環境があり、Android / IOS / Windowsで使えるというマルチプラットフォーム環境のようです。
具体的には、Pythonでアプリ作成、ライブラリのkivyでGUI(画面)作成、buildozerでアプリ化という流れのようです。
このkivyというのがどの程度柔軟にGUIを作成できるか分かりませんが、かなり柔軟であればあえてJavaScriptで作ることもなさそうです。
本シリーズはこちら
JavaScriptの自作アプリはこちら。
Bluetooth使いたかったのでいつものWEBでなくアプリにしたのです。
開発環境
今回Pythonでスマホアプリを作るにあたっての環境は以下の通りです。
言語 Python
GUI kivy
こちらのライブラリを使用してGUI(画面)を作っていきますビルド buildozer
作ったスクリプトをパッケージ化(アプリ化)するコンパイラ?
こちらがLinux / MACしかサポートしていないので、ビルドはLinuxで行います。OS Ubuntu 22.04.4 LTS
buildozerのサポートがLinuxなのでこちらで行います。
人によっては仮想化を使うようですが、実機があるので実機にしちゃいます。
実機については下記記事で紹介しているので気になった方はチェックしてください。
準備
必要なもののインストール
公式サイトのコマンドに則りインストールしていきます。
調べると同じようなコマンドを書いてくれていることがありますが、それが最新かどうかは分かりませんので公式の物をコピペした方がいいです。
→私は参考サイトベースでやったらCythonのバージョンが違っていたのが悪いのか最初エラーになってダメでした。
$現時点公式サイトのコピペ
$バージョンを明示しているものもあるので必ず最新の公式コマンドを使ってください
sudo apt update
sudo apt install -y git zip unzip openjdk-17-jdk python3-pip autoconf libtool pkg-config zlib1g-dev libncurses5-dev libncursesw5-dev libtinfo5 cmake libffi-dev libssl-dev
pip3 install --user --upgrade Cython==0.29.19 virtualenv
pip install buildozer
$GUIプラットフォームも忘れずに
pip install kivy
buildozer 公式サイト
kivy公式サイト(サポートPythonバージョンチェック)
PATHの追加
上記依存パッケージのインストールの少し下に下記のような記述がありますので忘れずに。こちらを"bashrc"に追記します
export PATH=$PATH:~/.local/bin/
bashrcファイルは各ユーザーのホームにある".bashrc”です。
ログイン時に読み込まれ環境変数やalias設定なんかをやるやつですね。ここで環境変数PATHに"~/.local/bin/"を追加する操作をするようです。
つまり追記したら再ログインしてください。
テストアプリを作成
Pythonでアプリを作成
とりあえず画面中央に"Rcat"と表示するだけのアプリを作ってみます。
適当なフォルダを作成し、その中にスクリプトを作成します。
Pythonを開発するWindowsで起動するとこんな感じです
ソースコードは下記の通りです。
下記をmain.pyという名前で保存しておきます。
import kivy
from kivy.app import App
from kivy.uix.label import Label
class MyApp(App):
def build(self):
return Label(text='Rcat APP!')
if __name__ == '__main__':
MyApp().run()
ビルドする
スクリプトを作成しているフォルダに移動した上で下記コマンドを実行します。
初回はセットアップやらいろいろあるみたいで30分以上かかります。
$設定ファイル作成
buildozer init
$ビルド実行
buildozer -v android debug
インストールする
出来上がったアプリはbinフォルダに入っています。
CXファイルエクスプローラーなどのSPTF対応のファイルマネージャーでスマホから直接取りに行けます。
DLしてインストールしましょう。
無事起動しました
まとめ
今回はPythonでAndroidアプリ作成の環境構築とテストをやってみました。
まだ中身を何もかけていないので、どの程度の事が出来るのかは分かりませんが、とりあえず指定したフォルダをサーバーにバックアップするアプリを作ることを目的としていきます。
それではまた次回お会いしましょう。