Buildozer Installtion メモ
Buildozerとは
Buildozerは、Pythonで記述されたアプリケーションをAndroidやiOS向けに簡単にビルドできるオープンソースツールである。特にKivyフレームワークと組み合わせて使われることが多い。
主な特徴
-
クロスプラットフォーム対応
PythonコードをAndroid APKやiOSアプリに変換可能
※ iOSアプリのビルドにはmacOSが必要 -
依存関係の管理
必要なライブラリやツールチェーンを自動でダウンロード・設定 -
シンプルな設定
buildozer.spec
という設定ファイルを使って、アプリ名やバージョン、依存関係を管理 -
自動化
1つのコマンドでビルドからAPKの生成まで行える
環境
Ubuntu 22.04 LTS
Python 3.10.12
参考
公式ドキュメント
コマンド
基本的なコマンド
-
buildozer init
-
buildozer.spec
ファイル(アプリの設定を記述するためのテンプレート)を生成
-
-
buildozer -v <command>
- コマンドを詳細モードで実行し、進行状況を詳しく表示
- 使用例:
buildozer -v android debug
プラットフォーム関連
-
buildozer android debug
- Android用のデバッグ用APKをビルド
-
buildozer android release
- リリース用のAPKをビルド (署名が必要)
-
buildozer ios debug
- iOS用のデバッグアプリをビルド (macOSが必要)
-
buildozer ios release
- リリース用のiOSアプリをビルド
デバッグ・エミュレーション
-
buildozer android deploy run logcat
- アプリをデバイスにデプロイし、実行し、ログをリアルタイムで取得
-
buildozer android clean
- Androidビルドのキャッシュをクリア
設定関連
-
buildozer help
- 使用可能なすべてのコマンドとオプションの一覧を表示
-
buildozer distclean
- すべてのビルド関連ファイルや依存関係を削除し、初期状態に戻す
プロジェクトの更新
-
buildozer android update
- Androidの依存関係やツールを更新
注意点
- 必要なコマンドは、
buildozer.spec
ファイルの設定内容やターゲットプラットフォームによって異なる - ビルド時に発生する問題の多くは依存関係や環境設定が原因なので、エラーログを確認してください・・・
Buildozerのインストール
1. 必要なパッケージのインストール
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 --upgrade Cython==0.29.33
2. ~/.bashrc を編集
-
~/.bashrc
を開いて編集
ターミナルで以下のコマンドを実行して、~/.bashrc
ファイルを開くnano ~/.bashrc
-
環境変数
PATH
を設定ファイルの最終行に以下を追加
# Add local bin directory to PATH export PATH=$PATH:~/.local/bin/
nanoは
Ctrl
+x
→y
→Enter
で上書き保存 -
変更を適用
ターミナルに戻り、以下を実行して設定を反映させるsource ~/.bashrc
-
設定内容の説明
-
PATH
環境変数
システムがコマンドを探す場所を指定する
:
で区切られたディレクトリのリスト -
~/.local/bin/
の追加
この設定により、~/.local/bin/
内のコマンドを直接実行できるようになる
主にユーザーローカルのインストールスクリプトが置かれる -
export
の役割
設定をシェルのサブプロセスにも引き継ぎ、全体で有効にする
-
3. 仮想環境の作成(推奨)
python3 -m venv buildozer_env
source buildozer_env/bin/activate
4. Buildozerのインストール
pip3 install --upgrade pip
pip3 install buildozer
5. 動作確認
buildozer
コマンドが使用できるか確認する
buildozer --version
Kivyアプリをビルドする
実際にKivyアプリのビルドをテストする。
-
Kivyアプリの作成
まず、Kivyアプリを作成する。以下のようなシンプルなmain.pyを用意。from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label(text="Hello, Buildozer!") if __name__ == "__main__": MyApp().run()
-
Buildozerの設定ファイルを生成
Buildozerの設定ファイルを生成する。アプリのディレクトリ内で以下のコマンドを実行する。buildozer init
これにより、buildozer.specというファイルが生成される。
このファイルには、ビルドに関する設定が記載されている。
例えば、アプリの名前やパッケージ名などを指定できる。 -
Android APKのビルド
Android用のAPKをビルドする。
以下のコマンドを実行すると、必要な依存関係が自動的にインストールされ、APKが生成される。buildozer -v android debug
ビルドが完了すると、bin/ディレクトリに*.apkファイルが生成される。
このファイルをAndroidデバイスにインストールしてテストすることができる。
Discussion