[[oktatas:programozás:python:kivy|< Kivy]]
====== python-for-android ======
* **Szerző:** Sallai András
* Copyright (c) 2020, Sallai András
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]]
* Web: https://szit.hu
===== A python-for-android =====
A python-for-android egy csomagolóeszköz, olyan python programok számára,
amit Androidon szeretnénk futtatni.
GitHub hely:
* https://github.com/kivy/python-for-android
Webhely:
* https://python-for-android.readthedocs.io/
===== Telepítés =====
pip3 install python-for-android
Szükséges még:
pip3 install Cython
===== Java downgrade =====
Töltsük le a 8-s Java verziót.
* https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
Csomagoljuk ki:
mv jdk-8u261-linux-x64.tar.gz /opt/
cd /opt
tar -xzvf /opt/jdk-8u261-linux-x64.tar.gz
Állítsuk be alapértelmezettnek:
update-alternatives --install /usr/local/bin/java java /opt/jdk1.8.0_261/bin/java 1
update-alternatives --install /usr/local/bin/javac javac /opt/jdk1.8.0_161/bin/javac 1
update-alternatives --config java
Ellenőrizzük:
java -version
===== Ellenőrzés =====
p4a --version
===== Program követelmény =====
Az első állományneve kötelezően main.py:
geany main.py
===== Gyorskezdés =====
p4a apk --requirements=kivy --private /home/janos/valahol/ \
--package=lan.nagyjanos.program01 \
--name="Program01" \
--version=0.1 \
--bootstrap=sdl2
===== Kapcsolók =====
Java csomag neve:
--package
Az alkalmazás neve:
--name="Program01"
A program verziója:
--version=0.1
Forgatás automatikusan:
--orientation=portait
--orientation=landscape
--orientation=sensor
Az alkalmás ikonja. (egy .png fájl):
--icon
--requirements=python3,kivy
--bootstrap=webview
--port=5000
===== Újraépítés =====
p4a clean_all
Ha a függőségek újratöltése nélkül szeretne újraépíteni:
p4a clean_builds && p4a clean_dists
===== Receptek =====
Listázás:
p4a recipes
A receptek, speciális scriptek különféle programok
összeállítására, telepítésére. Segíti a komponensek
gondozását.
Saját recept:
class SajatRecept(Recipe):
url = 'http://valahol.net/pelda-{version}.tar.gz'
version = '1.0.1'
md5sum = '3f4d394847635476588bc33432883f82'
patches = ['some_fix.patch'] # Az útvonal relatív a receptkönyvtárhoz
depends = ['kivy', 'sdl2'] # Függőség példa
conflicts = ['generickndkbuild']
recept = SajatRecept()
===== Konfigurációs fájl =====
Egy .p4a kiterjesztésű fájl, az aktuális
könyvtárban konfigurációs fájlként van értelmezve.
A konfigurációs fájlban az opciókat sorolhatjuk fel:
--android_api 27
--requirements kivy,openssl
===== Példa =====
# Valami Python kód
--sdk-dir /home/janos/Android/Sdk
--ndk-dir /home/janos/bin/android-ndk-r21d
--android-api 27
--ndk-api 21
--ndk-version r21d
--requirements kivy
--private /home/janos/dev/gyak/python/kivy
--package lan.nagyjanos.elso
--name elso
--version 0.1
--bootstrap sdl2
--dist-name elso
Csomagkészítő parancs:
p4a apk `cat kapcsolok.p4a`
===== Linkek =====
* https://python-for-android.readthedocs.io/en/latest/quickstart/#installing-android-sdk (2020)