当我使用python解释器时,可以很好地导入它。但是,如果我编写脚本,则出于某种原因import jnius
可以正常工作,但是当我编写from jnius import autoclass
或from jnius import JavaClass
时会得到ImportError: Cannot import 'autoclass' from 'jnius'
。
我什至尝试写作
import jnius
Python Activity = jnius.autoclass('org.kivy.android.PythonActivity')
但是我得到AttributeError: 'jnius' has no attribute 'autoclass'
。
编辑:
当我们在autoclass
主题上时,我写
Python Activity = autoclass('org.kivy.android.PythonActivity')
我知道
jnius.JavaException: Class not found b'org/kivy/android/PythonActivity'
答案 0 :(得分:2)
在这里
我检查了一下,所有设置都正确。我只是没有意识到在导入jnius之前必须先导入kivy。
如果要测试,代码应类似于以下代码。我只在使用Pydroid3的Android手机上尝试过,但没有在笔记本电脑上尝试过
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()
它应该显示以下行<class 'jnius.jnius.MetaJavaClass'>