python - 为什么除了jnius我不能导入pyjnius的任何东西?
问题描述
当我使用 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'
解决方案
在这里。
我做了检查,一切都设置正确。我只是没有意识到在导入 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'>
推荐阅读
- javascript - 如何在提交时使用用户给定的输入生成和显示条形图
- java - 尝试启动任何 Java 程序时出现“找不到主类”错误
- node.js - 想知道解压方法
- html - 我应该使用什么 META-tag 来指定英式英语?(打开图表)
- sql - 开始导入数据
- schema.org - 微数据 (schema.org) 中的自定义字段是否会使整个微数据出错?
- python - 将csv文件名添加到python中的列(200个文件)
- javascript - 具有查询问题的 Firestore 事务
- c# - 504 - 连接 sage50 云帐户时出现超时错误
- c# - MS Test - 在单独的类中定义 DataRows