kivy_jnius
Table des matières
Kivy: jnius
A Python module to access Java classes as Python classes using the Java Native Interface (JNI).
jnius permet d'accéder aux classes Java, alors que Plyer permet de le faire avec une façade.
Installation
sudo pip3 install pyjnius
Version des packages
Pour obtenir la list des package python installés:
pip3 list * Kivy 1.11.1 * buildozer 1.2.0 * jnius 1.1.0 * plyer 1.4.3 * oscpy 0.5.0 * pygame 1.9.6
La liste des packages pas à jour:
pip3 list --outdated
Mise à jour:
sudo pip3 install --upgrade kivy
Définir la version de java utilisée par votre système
8 ou 11? Pour moi, ça ne marche bien qu'avec 8! Dans un terminal:
sudo update-alternatives --config java java -version export JAVA_HOME=/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64
Il faut faire un export avant de lancer
python3 main.py
si python ne trouve pas java, définir le path dans main.py, comme ci-dessous.
main.py
from plyer import utils print("Platform =", utils.platform) ANDROID = utils.platform._platform_android # retourne True ou False print("Android =", ANDROID) if not ANDROID: from kivy.core.window import Window # Simulation de l'écran de mon tél: 1280*720 k = 1.0 WS = (int(720*k), int(1280*k)) Window.size = WS os.environ['JAVA_HOME'] = '/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64'
Exemple d'utilisation de jnius
main.py
from jnius import autoclass service = autoclass(SERVICE_NAME) m_activity = autoclass(u'org.kivy.android.PythonActivity').mActivity argument = '' service.start(m_activity, argument)
kivy_jnius.txt · Dernière modification : 2020/11/02 13:55 de serge