メインコンテンツへスキップ
見出し画像

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で起動するとこんな感じです

    画像
    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してインストールしましょう。

    画像

    無事起動しました

    画像
    Androidで動作確認

    まとめ

    今回はPythonでAndroidアプリ作成の環境構築とテストをやってみました。
    まだ中身を何もかけていないので、どの程度の事が出来るのかは分かりませんが、とりあえず指定したフォルダをサーバーにバックアップするアプリを作ることを目的としていきます。
    それではまた次回お会いしましょう。

     
     
    モノづくりが趣味。 "売ってないなら自分で作ればいいじゃない"をコンセプトに、機械/電気/AI/プログラム/ネットワーク 全部やります。 記事執筆はAI不使用。 ご連絡や利用規約はプロフィール記事参照。

    あなたへのおすすめ