LoginSignup
7
10

More than 5 years have passed since last update.

<メモ>Kivyで作成したPythonアプリケーションをAndroidパッケージ化する

Last updated at Posted at 2019-04-25

KivyとBuildozerについて

  • Kivyとは

    • PythonのNUIアプリケーション開発用のOSSライブラリ
    • https://kivy.org/
  • Buildozerとは

    • Pythonアプリケーションをモバイルアプリケーションとして簡易にパッケージングするツール
    • AndoroidやiOSアプリを作成できる
    • https://github.com/kivy/buildozer

試した環境

本検証は以下の環境で行った。LinuxあるいはMacで実行する必要がある。

  • Ubuntu 18.04.2 LTS
  • Python 3.7.3
  • Android 9

必要なライブラリのインストール

sudo apt-get install -y \
    python-pip \
    build-essential \
    git \
    python \
    python3 \
    python-dev \
    python3-dev \
    ffmpeg \
    libsdl2-dev \
    libsdl2-image-dev \
    libsdl2-mixer-dev \
    libsdl2-ttf-dev \
    libportmidi-dev \
    libswscale-dev \
    libavformat-dev \
    libavcodec-dev \
    zlib1g-dev \
    automake \
    autoconf \
    libltdl-dev \
    openjdk-8-jdk \
    aidl

Python 関連のライブラリのインストール

pip install pygame cython
pip install kivy

Buildozerのインストール

git clone https://github.com/kivy/buildozer
cd buildozer
python setup.py build
pip install -e .

Python サンプルコード

[アプリケーション用ディレクトリ ex:myapp]/main.py
※ ファイル名はmain.pyとしなければならない模様
※ このディレクトリ名は、後述するBuildozer設定ファイルに、パッケージ名として記載しなければならない模様

import kivy

from kivy.app import App
from kivy.uix.label import Label

class HelloWorldApp(App):

    def build(self):
        return Label(text='Hello World!')

if __name__ == '__main__':
    HelloWorldApp().run()

Buildozerの設定ファイルを作成する

アプリケーション用ディレクトリ内でBuildozerを実行し、設定ファイル「buildozer.spec」を作成する。

cd [アプリケーション用ディレクトリ]
buildozer init

設定ファイル「buildozer.spec」を編集する。
最低限、以下の項目は変更しなければならない模様。

package.name = myapp ※ main.pyを格納したディレクトリ名
package.domain = jp.sample.test  ※ デフォルトの値から変更しなければならない模様
requirements = python3,kivy,android,plyer

Android端末の設定

  • Android 端末をデベロッパーモードに設定する

    • [設定] > [システム] > [端末情報]
    • ビルド番号を連打するとデベロッパーモードとなる
  • 開発者オプションとUSBデバッグの有効化

    • [端末情報] > [システム] > [開発者向けオプション]
    • 開発者向けオプション : ON
    • USBデバッグ : ON
  • PCにAndroid端末をUSB接続し、「ファイルを転送」を選択

PythonコードからAndoroidパッケージを作成し、USBデバッグする

Linuxで以下を実行すると、Android側でデバッグ実行される。

buildozer android debug deploy run

参考サイト

以下のサイトを参考にさせて頂きました。ありがとうございます。

7
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
10