【问题标题】:Pyjnius import jar filePyjnius 导入 jar 文件
【发布时间】:2014-02-25 16:43:55
【问题描述】:

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

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

有没有办法像这样导入现有的 *.jar 文件?语法是什么样的?

【问题讨论】:

    标签: python kivy pyjnius


    【解决方案1】:

    您可以将 jar 添加到 CLASSPATH 中,然后导入 pyjnius 并正常使用 autoclass :-):

    import os
    os.environ['CLASSPATH'] = "path/to/your.jar"
    
    from jnius import autoclass
    
    
    Bla = autoclass('bla.bla.BlaClass')
    

    【讨论】:

    • 如果我有超过 1 个 jar 文件怎么办?如何包含它们?
    • 我假设用:分隔它们
    • 一个稍微干净的等价物是import jnius_config; jnius_config.set_classpath('/path/to/your.jar')
    【解决方案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')
    ...
    

    【讨论】:

    • 我只想在我的 python 脚本中使用一些外部 jar 中提供的一些类。难道不能使用与android无关的jar吗?
    • 这取决于您想要实现的目标。也许 jython 会为你工作
    猜你喜欢
    • 2015-03-14
    • 2016-09-05
    • 2020-11-18
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-20
    • 2014-09-03
    相关资源
    最近更新 更多