我得到一个 pyjnius 错误,其中有很多我希望工作的类方法访问:
Traceback (most recent call last):
File "jnius/jnius_export_class_pxi", line 752, in jnius.jnius.JavaMethod.__call__
File "jnius/jnius_export_class.pxi", line 699, in jnius.jnius.JavaMethod.ensure_method
jnius.jnius.JavaException: Unable to find a None method!
重现步骤:
main.py
创建一个新文件夹:from jnius import autoclass
python_activity = autoclass('org.kivy.android.PythonActivity')
window = python_activity.getWindow()
window.setSoftInputMode(16) # SOFT_INPUT_ADJUST_RESIZE
包装为.apk
:
p4a apk --arch=armeabi-v7a --name test --package com.example.test --version 1 --requirements=kivy,python2 --private .
(或 python 3,如果您的路径中未设置这些参数,您可能需要添加 api 和/或 ndk api 参数)
运行并等待它立即终止,然后检查 logcat。 你会看到这个:
Traceback (most recent call last):
File "jnius/jnius_export_class_pxi", line 752, in jnius.jnius.JavaMethod.__call__
File "jnius/jnius_export_class.pxi", line 699, in jnius.jnius.JavaMethod.ensure_method
jnius.jnius.JavaException: Unable to find a None method!
好的,我做了一些很好的旧打印调试,确切的崩溃行是window = python_activity.getWindow()
,或者在更大的上下文中:
但是,我想不出Activity
(其中PythonActivity
/ SDLActivity
派生自)没有getWindow()
的情况,如此处所述: https://developer.android.com/reference/android/app/Activity#getWindow ()
那么这是一个错误吗?
FWIW,在https://github.com/kivy/python-for-android/pull/1772遇到了同样的错误。 任何人都知道这是我这边的 pyjnius 错误还是用户错误?
这里的错误是调用 Activity 类的方法,而不是实例,实例可以通过mActivity
属性访问。
这是一个工作代码示例https://gist.github.com/47b7b18855b38de3730e081682c558ce
希望它可以实现您想要做的事情:)。
关闭不是 pyjnius 中的错误,如果您认为这是错误的,请发表评论或重新打开。
@tshirtman :balloon: :tada: 谢谢 :heart:
最有用的评论
关闭不是 pyjnius 中的错误,如果您认为这是错误的,请发表评论或重新打开。