python pyjnius; PythonActivity错误,我安装了JDK + Visual C ++

问题描述

我安装了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

解决方法

该活动是为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

Installing pyjnius on Windows