ブートストラップ

このページでは、新しいブートストラップバックエンドの作成について説明します。 既存のブートストラップ(SDL2、Pygame、Webviewなど)のビルドオプションについては、 ビルドオプション を参照してください。

python-for-android(p4a)は複数の ブートストラップ をサポートしています。 これらはレシピと同様の役割を果たしますが、特定のモジュールをコンパイルする方法を説明する代わりに、個々のレシピとAndroidソースコードやさまざまなビルドファイルなどの他のコンポーネントを組み合わせることで完全なAndroidプロジェクトを作成する方法を記述します

このページでは、ブートストラップがどのように機能するかについての基礎を説明します。Android用の新しいPythonプロジェクトを簡単に作成できて、好きなように使用できます。

新しいブートストラップを作成する

ブートストラップのクラスは基本的なコンポーネントから構成されていますが、そのうちの1つは多くの作業を行う必要があります。

たとえばSDL2ブートストラップは以下のようになります:

from pythonforandroid.toolchain import Bootstrap, shprint, current_directory, info, warning, ArchAndroid, logger, info_main, which
from os.path import join, exists
from os import walk
import glob
import sh


class SDL2Bootstrap(Bootstrap):
    name = 'sdl2'

    recipe_depends = ['sdl2']

    def run_distribute(self):
        # much work is done here...

ブートストラップ名とレシピの依存関係の宣言は明確でなければなりません。 ただし、 run_distribute メソッドは、ビルドディレクトリを作成してレシピなどをコピーしてから必要に応じて、余分なコンポーネントを追加または削除するすべての作業を行う必要があります。

ブートストラップを作成したい場合は、p4aのソースコード内の既存のものをチェックするのが最善の方法です。 問題や質問がある場合は 開発者に質問 できます。