webview_flutter在获取平台错误时无法工作



我正在尝试激活我的应用程序中的支付网关。在获得打开支付页面所需的所有数据后(这包括所有必要的数据,如代币名字等(。之后我应该显示一个页面。在此页面中,用户必须输入他的卡信息。

我的问题是:当尝试或试图使用WebView((打开页面时,我会遇到如下错误java.lang.IollegalStateException:平台视图尚未从平台视图通道初始化。

我已经在宣言文件中添加了使用互联网的权限。

此外,我将minSdkVersion设置为19&compileSdkVersion 32。除此之外,我多次运行flutter清理,但这并没有解决问题。

我下面的代码:

import 'dart:async';
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/src/foundation/key.dart';
import 'package:flutter/src/widgets/framework.dart';
import 'package:webview_flutter/webview_flutter.dart';
import '../../shared/components/components.dart';
import '../../shared/components/const.dart';
class VisaCard extends StatefulWidget {
const VisCard({Key? key}) : super(key: key);
@override
State<VisCard> createState() => _VisCardState();
}
class _VisCardState extends State<VisCard> {
final Completer<WebViewController> _controller =
Completer<WebViewController>();
void initState() {
super.initState();
if (Platform.isAndroid) {
WebView.platform = SurfaceAndroidWebView();
}
}
@override
Widget build(BuildContext context) {

return Scaffold(
body: WebView(
initialUrl:"https://xxxxxxx/api/acceptance/iframes/684162?payment_token=${paymobFinalTokenCard}",
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (WebViewController webViewController) {
_controller.complete(webViewController);
},
// onProgress: (int progress) {
//   print('WebView is loading (progress : $progress%)');
// },
javascriptChannels: <JavascriptChannel>{
_toasterJavascriptChannel(context),
},
onPageFinished: (String url) {
print('Page finished loading: $url');
},
gestureNavigationEnabled: true,
backgroundColor: const Color(0x00000000),
),
);
}
JavascriptChannel _toasterJavascriptChannel(BuildContext context) {
return JavascriptChannel(
name: 'Toaster',
onMessageReceived: (JavascriptMessage message) {
showSnackBar(context,message.toString() );
});
}
}

错误消息:

[WARNING:dns_config_service_android.cc(153)] Failed to read DnsConfig.
D/EGL_emulation( 8941): eglMakeCurrent: 0x7f336f68cf90: ver 2 0 (tinfo 0x7f359bd14080) 
(first time)
**E/flutter ( 8941): [ERROR:flutter/fml/platform/android/jni_util.cc(204)] java.lang.IllegalStateException: Platform view hasn't been initialized from the platform view channel.**
E/flutter ( 8941):  at io.flutter.plugin.platform.PlatformViewsController.initializePlatformViewIfNeeded(PlatformViewsController.java:732)
E/flutter ( 8941):  at io.flutter.plugin.platform.PlatformViewsController.onDisplayPlatformView(PlatformViewsController.java:791)
E/flutter ( 8941):  at io.flutter.embedding.engine.FlutterJNI.onDisplayPlatformView(FlutterJNI.java:1380)
E/flutter ( 8941):  at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter ( 8941):  at android.os.MessageQueue.next(MessageQueue.java:335)
E/flutter ( 8941):  at android.os.Looper.loopOnce(Looper.java:161)
E/flutter ( 8941):  at android.os.Looper.loop(Looper.java:288)
E/flutter ( 8941):  at android.app.ActivityThread.main(ActivityThread.java:7839)
E/flutter ( 8941):  at java.lang.reflect.Method.invoke(Native Method)
E/flutter ( 8941):  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
E/flutter ( 8941):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
E/flutter ( 8941): 
F/flutter ( 8941): [FATAL:flutter/shell/platform/android/platform_view_android_jni_impl.cc(1469)] Check failed: fml::jni::CheckException(env). 
F/libc    ( 8941): Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 8941 (ample.paymobone), pid 8941 (ample.paymobone)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/sdk_gphone64_x86_64/emulator64_x86_64_arm64:12/SE1A.211212.001.B1/8023802:user/release-keys'
Revision: '0'
ABI: 'x86_64'
Timestamp: 2022-10-18 02:10:20.176569800+0300
Process uptime: 0s
Cmdline: com.example.paymobone
pid: 8941, tid: 8941, name: ample.paymobone  >>> com.example.paymobone <<<
uid: 10160
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: '[FATAL:flutter/shell/platform/android/platform_view_android_jni_impl.cc(1469)] Check failed: fml::jni::CheckException(env). 
'
rax 0000000000000000  rbx 00000000000022ed  rcx 00007f357d3205cf  rdx 0000000000000006
r8  00007ffee229c9d0  r9  00007ffee229c9d0  r10 00007ffee229c970  r11 0000000000000217
r12 00007f334f6d4bf0  r13 00007ffee229cad0  r14 00007ffee229c968  r15 00000000000022ed
rdi 00000000000022ed  rsi 00000000000022ed
rbp 0000000000000007  rsp 00007ffee229c960  rip 00007f357d3205cf
backtrace:
#00 pc 000000000005e5cf  /apex/com.android.runtime/lib64/bionic/libc.so (abort+191) (BuildId: 5db8d317d3741b337ef046540bbdd0f7)
#01 pc 000000000160bf95  /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#02 pc 0000000001631394  /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#03 pc 00000000016183d6  /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#04 pc 0000000001d847d9  /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#05 pc 00000000019b6578  /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#06 pc 00000000019b506a  /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#07 pc 00000000019b5be3  /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#08 pc 00000000019b6b0d  /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#09 pc 00000000019b553b  /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#10 pc 00000000019b5234  /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#11 pc 00000000019b6d9c  /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#12 pc 0000000001631f33  /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#13 pc 000000000163734a  /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#14 pc 0000000000018475  /system/lib64/libutils.so (android::Looper::pollInner(int)+1013) (BuildId: 0b21e18f17c36471b0becec44f99518b)
#15 pc 000000000001801e  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+126) (BuildId: 0b21e18f17c36471b0becec44f99518b)
#16 pc 000000000015d253  /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int)+35) (BuildId: f90004a78069fa4c4e587a2081d386cd)
#17 pc 00000000001ab568  /system/framework/x86_64/boot-framework.oat (art_jni_trampoline+120) (BuildId: 5ead3b6496eb4808298a4612fe10561bbd30f354)
#18 pc 0000000002003e6e  /memfd:jit-cache (deleted) (android.os.MessageQueue.next+206)
#19 pc 0000000002007082  /memfd:jit-cache (deleted) (android.os.Looper.loopOnce+162)
#20 pc 0000000000395376  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+806) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#21 pc 000000000041da09  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+233) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#22 pc 00000000005a335c  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+428) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#23 pc 000000000059d16c  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1036) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#24 pc 000000000097c172  /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+1410) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#25 pc 000000000037e899  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+25) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#26 pc 000000000044d768  /system/framework/framework.jar
#27 pc 000000000097c90d  /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+3357) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#28 pc 000000000037e899  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+25) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#29 pc 00000000001c85ca  /system/framework/framework.jar
#30 pc 0000000000594b42  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool)+306) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#31 pc 0000000000959a6f  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+1007) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#32 pc 00000000003a04bc  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+140) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#33 pc 0000000000395376  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+806) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#34 pc 000000000041da09  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+233) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#35 pc 0000000000819502  /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1442) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#36 pc 0000000000772728  /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+56) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#37 pc 00000000000b5a30  /apex/com.android.art/javalib/x86_64/boot.oat (art_jni_trampoline+144) (BuildId: d92cc57761604ac2f5849e74a41f38bf70ac7a09)
#38 pc 0000000000395014  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+756) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#39 pc 000000000041d9fa  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+218) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#40 pc 00000000005a335c  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+428) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#41 pc 000000000059d16c  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1036) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#42 pc 000000000096e305  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1349) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#43 pc 000000000037e719  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+25) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#44 pc 000000000024800e  /system/framework/framework.jar
#45 pc 0000000000594b42  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool)+306) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#46 pc 0000000000959a6f  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+1007) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#47 pc 00000000003a04bc  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+140) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#48 pc 00000000008b3621  /system/framework/x86_64/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2049) (BuildId: 5ead3b6496eb4808298a4612fe10561bbd30f354)
#49 pc 0000000000395376  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+806) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#50 pc 000000000041da09  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+233) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#51 pc 0000000000819eb1  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, __va_list_tag*)+465) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#52 pc 00000000006ce8ac  /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, __va_list_tag*)+620) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#53 pc 00000000000c6374  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+164) (BuildId: f90004a78069fa4c4e587a2081d386cd)
#54 pc 00000000000d2a71  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+865) (BuildId: f90004a78069fa4c4e587a2081d386cd)
#55 pc 0000000000002f9f  /system/bin/app_process64 (main+1599) (BuildId: 5c47dfdf42370b14f9eaa0b58a1dedf3)
#56 pc 0000000000050079  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+89) (BuildId: 5db8d317d3741b337ef046540bbdd0f7)
**Lost connection to device.**

这可能是Flutter中的一个错误,您可以在GitHub上查看错误#112542

最新更新