.. _launcher: Launcher ======== The Kivy Launcher is an Android application that can run any Kivy app stored in `kivy` folder on SD Card. You can download the latest stable version for your android device from the `Play Store `_. The stable launcher comes with various Python packages and permissions, usually listed in the description in the store. Those aren't always enough for an application to run or even launch if you work with other dependencies that are not packaged. The Kivy Launcher is intended for quick and simple testing, for anything more advanced we recommend building your own APK with python-for-android. Building -------- The Kivy Launcher is built using python-for-android. To get the most recent versions of packages you need to clean them first, so that the packager won't grab an old (cached) package instead of fresh one. .. highlight:: none :: p4a clean_download_cache requirements p4a clean_dists && p4a clean_builds p4a apk --requirements=requirements \ --permission PERMISSION \ --package=the.package.name \ --name="App name" \ --version=x.y.z \ --android_api XY \ --bootstrap=pygame or sdl2 \ --launcher \ --minsdk 13 .. note:: `--minsdk 13` is necessary for the new toolchain, otherwise you'll be able to run apps only in `landscape` orientation. .. warning:: Do not use any of `--private`, `--public`, `--dir` or other arguments for adding `main.py` or `main.pyo` to the app. The argument `--launcher` is above them and tells the p4a to build the launcher version of the APK. Usage ----- Once the launcher is installed, you need to create a folder in your external storage directory (e.g. ``/storage/emulated/0`` or ``/sdcard``) - this is normally your 'home' directory in a file browser. Each new folder inside `kivy` represents a separate application:: /sdcard/kivy/ Each application folder must contain an `android.txt` file. The file has to contain three basic lines:: title= author= orientation= The file is editable so you can change for example orientation or name. These are the only options dynamically configurable here, although when the app runs you can call the Android API with PyJNIus to change other settings. After you set your `android.txt` file, you can now run the launcher and start any available app from the list. To differentiate between apps in ``/sdcard/kivy`` you can include an icon named ``icon.png`` to the folder. The icon should be a square. Release on the market --------------------- Launcher is released on Google Play with each new Kivy stable branch. The master branch is not suitable for a regular user because it changes quickly and needs testing. Source code ----------- .. |renpy| replace:: pygame org.renpy.android .. |kivy| replace:: sdl2 org.kivy.android .. _renpy: https://github.com/kivy/python-for-android/tree/master/\ pythonforandroid/bootstraps/pygame/build/src/org/renpy/android .. _sdl2: https://github.com/kivy/python-for-android/tree/master/\ pythonforandroid/bootstraps/sdl2/build/src/org/kivy/android If you feel confident, feel free to improve the launcher. You can find the source code at |renpy|_ or at |kivy|_.