jnius.find_javaclass,jnius.JavaException:未找到类';android/webkit/WebView';
我在尝试使用jnius的自动类获取Kivy应用程序中的android webview时遇到此错误。解决办法是什么 谢谢 我的代码如下所示:jnius.find_javaclass,jnius.JavaException:未找到类';android/webkit/WebView';,android,python,kivy,pyjnius,Android,Python,Kivy,Pyjnius,我在尝试使用jnius的自动类获取Kivy应用程序中的android webview时遇到此错误。解决办法是什么 谢谢 我的代码如下所示: import kivy from kivy.app import App
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
首先,您应该检查是否在Android环境中运行代码,因为Android.webkit.WebView仅在Android环境下运行,而不是在Windows或Linux环境下的PC上运行 建议使用Android设备,并使用
Buildozer
命令运行应用程序Buildozer Android调试部署运行
,并带有调试选项
如果您想在PC上运行它,那么您可以从Kivy安装Android VM,并在上执行以下步骤:
- 下载虚拟机部分中的。这个 下载容量为1.2GB。提取文件并记住文件的位置 解压目录
- 从VirtualBox下载区域下载适用于您机器的版本,然后安装它
- 启动VirtualBox,单击“文件”、“导入设备”
- 选择提取的目录,文件应命名为“Buildozer VM.ovf”
- 启动虚拟机并单击“Buildozer”图标 并在kivy.org/docs/guide/packaging-android-vm.html中运行
import os
os.environ['CLASSPATH'] = 'absolute/path/file.jar'
如果类未找到“android/webkit/WebView”异常,您可以在设备上找到jar,或者下载它并将存储它的路径添加到类路径中。使用Pydroid3测试应用程序,而不编译它们。哪个.jar文件?它正在查找findsecbugs-plugin-deps-1.4.2.jar中应该包含的类通过添加我正在使用的代码来编辑我的问题。@Rene B.@EnkumicahelDereje另一个问题,您使用的是哪种操作系统?android.webkit.WebView仅在android下运行。如果你在Android设备上运行它,那么你应该使用andoird的虚拟机:@EnkumicahelDereje,我在答案中添加了如何在Linux系统上安装Android VM的描述。