Pyjnius导入jar文件

8

Pyjnius允许您为Java类创建一个Python包装器,例如:

Hardware = autoclass('org.myapp.Hardware')

有没有一种方法可以像这样导入一个现有的*.jar文件?语法是什么样子的?
2个回答

11
您可以将jar文件添加到CLASSPATH中,然后像平常一样导入pyjnius并使用autoclass:-):
import os
os.environ['CLASSPATH'] = "path/to/your.jar"

from jnius import autoclass


Bla = autoclass('bla.bla.BlaClass')

如果我有多个jar文件,我该如何包含它们? - Amr Ashraf
通过用“:”分隔它们 - Alexey Grigorev
1
稍微更简洁的等价语句是 import jnius_config; jnius_config.set_classpath('/path/to/your.jar') - Martin Valgur

2

就像jar文件仅适用于Android一样,您需要在buildozer.spec中添加jar文件,如下所示:

android.add_jars = java/myjar.jar

在您的应用程序的build方法中

from kivy.utils import platform
...
if platform() == 'android':
    BlaClass = autoclass('java.bla.BlaClass')
...

1
我只想在我的Python脚本中使用一些外部JAR文件中提供的类。这是否不可能使用与Android无关的JAR文件? - kiranbkrishna
这取决于你想要实现什么。也许Jython适合你。 - Thorin Schiffer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接