【问题标题】:How to use my java class in kivy app using kivy launcher如何使用 kivy 启动器在 kivy 应用程序中使用我的 java 类
【发布时间】:2016-12-28 00:22:07
【问题描述】:

我正在尝试使用 kivy 启动器为 android 编写一个简单的 kivy 应用程序。我正在尝试使用 pyjnius 从我的 java 类中调用 java 函数。我将 java 类放在与 kivy 启动器目录中的 python 文件相同的文件夹中。当我在 Windows 上测试应用程序时它可以工作,但在 android 上我得到“找不到类”异常。

是否可以在启动器目录中使用 java 类,或者我必须在包含我的类的情况下构建 kivy?

在windows上这个类是用jdk1.8.0_73编译的,在android上是用android studio编译的。

这里是python代码:

import os
appPath = os.path.abspath(".")
classPath = appPath + "/znt/tageja/ardbt/MainActivity"     

import jnius_config
#jnius_config.set_classpath(appPath)     # appPath: not working
jnius_config.set_classpath(classPath)   # classPath: not working

# This is not working also:
#os.environ['CLASSPATH'] = appPath

from jnius import autoclass
mtcClass = autoclass("znt.tageja.ardbt.MainActivity")

s = mtcClass()
print s

【问题讨论】:

    标签: java android python


    【解决方案1】:

    android不支持为jnius设置类路径,见here

    因此,如this示例所示,需要在python-for-android发行版中编译android的java类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-08
      • 1970-01-01
      • 2015-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-19
      相关资源
      最近更新 更多