Saya mendapatkan kesalahan pyjnius dengan banyak akses metode kelas yang saya harapkan berfungsi:
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!
Langkah-langkah untuk mereproduksi:
main.py
ini :from jnius import autoclass
python_activity = autoclass('org.kivy.android.PythonActivity')
window = python_activity.getWindow()
window.setSoftInputMode(16) # SOFT_INPUT_ADJUST_RESIZE
Paket sebagai .apk
:
p4a apk --arch=armeabi-v7a --name test --package com.example.test --version 1 --requirements=kivy,python2 --private .
(atau python 3, Anda mungkin perlu menambahkan argumen api dan/atau ndk api jika ini tidak disetel di jalur Anda)
Jalankan dan tunggu hingga instant-terminates, lalu periksa logcat. Anda akan melihat ini:
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!
Oke, saya melakukan beberapa debugging cetak lama yang bagus dan baris mogok yang tepat adalah window = python_activity.getWindow()
, atau dalam konteks yang lebih besar:
Namun, saya tidak dapat memikirkan kasus di mana Activity
(yang PythonActivity
/ SDLActivity
berasal) tidak akan memiliki getWindow()
seperti yang didokumentasikan di sini: https://developer.android.com/reference/android/app/Activity#getWindow ()
Apakah ini bug?
FWIW, mengalami kesalahan yang sama dengan https://github.com/kivy/python-for-Android/pull/1772 . Adakah yang tahu apakah ini bug pyjnius atau kesalahan pengguna di pihak saya?
Kesalahan di sini adalah memanggil metode pada kelas Aktivitas, bukan instance, instance dapat diakses melalui atribut mActivity
.
di sini adalah contoh kode kerja https://Gist.github.com/47b7b18855b38de3730e081682c558ce
mudah-mudahan tercapai apa yang Anda coba lakukan :).
menutup sebagai bukan bug di pyjnius, silakan beri komentar atau buka kembali jika menurut Anda ini salah.
@tshirtman :balon: :tada: terima kasih :hati:
Komentar yang paling membantu
menutup sebagai bukan bug di pyjnius, silakan beri komentar atau buka kembali jika menurut Anda ini salah.