我在尝试使用jnius的autoclass在Kivy应用程序中获取android webview时收到此错误。可能有什么问题?
由于
我的代码如下所示:
import kivy
from kivy.app import App
from kivy.lang import Builder
from kivy.utils import platform
from kivy.uix.widget import Widget
from kivy.clock import Clock
from jnius import autoclass
#from android.runnable import run_on_ui_thread
WebView = autoclass('android.webkit.WebView')
WebViewClient = autoclass('android.webkit.WebViewClient')
activity = autoclass('org.renpy.android.PythonActivity').mActivity
class Wv(Widget):
def __init__(self, **kwargs):
super(Wv, self).__init__(**kwargs)
# Clock.schedule_once(self.create_webview, 0) `
# @run_on_ui_thread
# def create_webview(self, *args):
# webview = WebView(activity)
# webview.getSettings().setJavaScriptEnabled(True)
# wvc = WebViewClient();
# webview.setWebViewClient(wvc);
# activity.setContentView(webview)
# webview.loadUrl('http://www.google.com')
class ServiceApp(App):
def build(self):
return Wv()
if __name__ == '__main__':
ServiceApp().run
答案 0 :(得分:1)
首先,您应该检查您是否在Android环境中运行代码,因为android.webkit.WebView仅在Android下运行,而不在Windows或Linux下的PC上运行。
推荐使用 Android设备,并使用带有调试选项的Buildozer
命令buildozer android debug deploy run
运行该应用。
如果您想在PC上运行它,那么您可以从Kivy安装 Android VM ,并在https://kivy.org/docs/guide/packaging-android-vm.html上执行以下步骤:
启动虚拟机,然后单击“Buildozer”图标。
让我们在kivy.org/docs/guide/packaging-android-vm.html
如果您仍然遇到 jnius.JavaException:找不到类&android / webkit / WebView' 异常的问题,那么您必须将该jar文件添加到类路径:
import os
os.environ['CLASSPATH'] = 'absolute/path/file.jar'
如果 Class not found' android / webkit / WebView' 异常,您可以在设备上找到jar或下载它并添加存储它的路径到类路径。
答案 1 :(得分:0)
使用 Pydroid3 测试您的应用程序,而无需编译它们