distutils / setuptoolsのインテグレート

コマンドラインからp4aを実行する代わりにdistutilsとsetup.pyを統合できます。

基本的なコマンドは以下の通りです:

python setup.py apk

APKに含まれるファイルは、setupの package_data 引数で指定されたファイルになります。 たとえば、次の例では、すべての.pyファイルと.pngファイルが testapp フォルダに含まれます。:

from distutils.core import setup
from setup

setup(
    name='testapp_setup',
    version='1.1',
    description='p4a setup.py example',
    author='Your Name',
    author_email='youremail@address.com',
    packages=find_packages(),
    options=options,
    package_data={'testapp': ['*.py', '*.png']}
)

アプリ名とバージョンはsetup.pyから自動的に読み込まれます。

Androidパッケージ名は、明示的に設定されていない場合、 org.test.lowercaseappname を使用します。

--private 引数はpackage_dataを使用して自動的に設定されるため手動で設定しないでください

ターゲットアーキテクチャのデフォルトは --armeabi です。

これらの自動引数はすべてコマンドラインで手動で渡すことで上書きできます。たとえば:

python setup.py apk --name="Testapp Setup" --version=2.5

setup.pyにp4a引数を追加する

コマンドラインに余分な引数を与える代わりに、options パラメータをsetupに渡すことでsetup.pyに格納することができます。 例えば:

from distutils.core import setup
from setuptools import find_packages

options = {'apk': {'debug': None,  # use None for arguments that don't pass a value
                   'requirements': 'sdl2,pyjnius,kivy,python2',
                   'android-api': 19,
                   'ndk-dir': '/path/to/ndk',
                   'dist-name': 'bdisttest',
                   }}

packages = find_packages()
print('packages are', packages)

setup(
    name='testapp_setup',
    version='1.1',
    description='p4a setup.py example',
    author='Your Name',
    author_email='youremail@address.com',
    packages=find_packages(),
    options=options,
    package_data={'testapp': ['*.py', '*.png']}
)

これらのオプションは python setup.py apk を実行すると自動的にインクルードされます。 コマンドラインで渡されるオプションはこれらの値を上書きします。

setup.cfgにp4a引数を追加する

distutilsの通常と同じようにsetup.cfgファイルにp4a引数を指定できます。 構文は次のとおりです:

[apk]

argument=value

requirements=sdl2,kivy