Outils pour utilisateurs

Outils du site


kivy_jnius

Ceci est une ancienne révision du document !


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, ou définir le path dans main.py, comme ci-dessous.

main.py

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

from jnius import autoclass
 
service = autoclass(SERVICE_NAME)
m_activity = autoclass(u'org.kivy.android.PythonActivity').mActivity
argument = ''
service.start(self.m_activity, argument)
kivy_jnius.1604320728.txt.gz · Dernière modification : 2020/11/02 12:38 de serge