0

我安装了 JDK 和 Visual Studio。我可以毫无问题地导入其他类,但是在导入 PythonActivity 类时不断出错。

我正在使用 javac 14.0.2 和 C++

我的代码:

import kivy
from kivy.app import App
from kivy.uix.label import Label

from jnius import autoclass

PythonActivity = autoclass('org.kivy.android.PythonActivity')

class MyApp(App):
    def build(self):
        return Label(text=str(type(PythonActivity)))


if __name__=="__main__":
    MyApp().run()

和错误:

     PythonActivity = autoclass('org.kivy.android.PythonActivity')
   File "D:\DNDR\Yeni klasör\lib\site-packages\jnius\reflect.py", line 229, in autoclass
     c = find_javaclass(clsname)
   File "jnius\jnius_export_func.pxi", line 26, in jnius.find_javaclass
   File "jnius\jnius_utils.pxi", line 91, in jnius.check_exception
 jnius.JavaException: JVM exception occurred: org/kivy/android/PythonActivity java.lang.NoClassDefFoundError
4

1 回答 1

0

该活动是为 android 应用程序创建的,因此在这种情况下 pyjnius 将用于 android 应用程序来访问类。您只需在 Android 上编码、编译和运行。该活动是android应用程序。buildozer 或 p4a 创建活动文件。所以尝试使用 p4a 或 buildozer 构建,然后在 Android 模拟器或设备上运行,然后检查日志。

我在我的项目中使用了这个。我有我使用 buildozer 构建 apk。该应用程序运行良好。

https://github.com/infinyte7/Mandarin-News-Feed/blob/master/Mandarin%20News%20Feed/main.py#L46

https://github.com/infinyte7/Mandarin-News-Feed/blob/master/Mandarin%20News%20Feed/main.py#L670

在 Windows 上安装 pyjnius

于 2020-09-28T14:01:11.493 回答