2

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:找不到类“测试/测试”

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

4

1 回答 1

1

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

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')

工作得很好。

于 2017-10-18T15:02:33.213 回答