【问题标题】:Kivy: what package name should I use for .jar files added with add_jars?Kivy:我应该为使用 add_jars 添加的 .jar 文件使用什么包名称?
【发布时间】:2017-11-26 14:27:36
【问题描述】:

1) 在我的 kivy 项目中,我创建了\platforms\android\test.java,内容如下:

class Test {
    public int test() {
        return 300;
    }
}

并将其编译为.jar 文件(在同一目录中)。

2) 在buildozer.spec 我添加了一行:

android.add_jars = %(source.dir)s/platforms/android/*.jar

3) 在项目main.py 我正在尝试使用它:

import logging
from kivy.utils import platform

if platform == "android":
    from jnius import autoclass, cast

    Test = autoclass('test.Test')
    logging.info(Test().test())

4) apk 构建良好,但出现错误:

jnius.jnius.JavaException: Class not found 'test/Test'

我假设我使用的包名称有问题 autoclass('test.Test')。 我应该使用什么名称来使事情正常进行?

【问题讨论】:

    标签: kivy pyjnius


    【解决方案1】:

    与添加.jar 文件相比,添加java 源文件更容易,p4a 将处理该源文件以在 Android 上使用。

    1) 我们有文件

    /java_folder/some/test.java
    

    内容如下:

    package some;
    
    class Test {
        public int test() {
            return 300;
        }
    }
    

    2) 在buildozer.spec 我们添加:

    android.add_src = %(source.dir)s/java_folder/
    

    3) 在项目中:

    autoclass('some.Test')
    

    工作得很好。

    【讨论】:

      猜你喜欢
      • 2019-08-18
      • 2021-03-31
      • 1970-01-01
      • 1970-01-01
      • 2012-09-09
      • 2010-12-13
      • 2022-11-11
      • 2015-07-03
      • 2014-07-24
      相关资源
      最近更新 更多