0

当我使用 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'
4

1 回答 1

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

于 2020-01-14T08:51:50.413 回答