我正在尝试使用flutter_webview_plugin在我的 flutter 应用程序中实现 webview,但它在运行时弹出错误。详情如下。但是如果我运行简单的 hello world 应用程序,它会成功运行。
import 'package:flutter/material.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';
void main() => runApp(MaterialApp(
home: MyApp(),
debugShowCheckedModeBanner: false,
darkTheme: ThemeData.dark(),
)
);
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return WebviewScaffold(
appBar: AppBar(
title: Text('KnowledgeSuttra',
textAlign: TextAlign.center,
)
),
url: 'www.knowledgesuttra.com',
);
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误 * 运行 Gradle 时出错:ProcessException:进程“J:\FlutterStudioProjects\knowledge_suttra\android\gradlew.bat”异常退出:
配置项目:app NDK 缺少“平台”目录。如果您使用 NDK,请确认 ndk.dir 设置为有效的 NDK 目录。当前设置为 F:\AndroidSDK\ndk-bundle。如果您没有使用 NDK,请从 ANDROID_NDK_HOME 或 local.properties 中取消设置 …
我开发了一个Flutter插件,问题是FlutterPluginBinding.flutterEnginegetFlutterEngine已被弃用。完整代码如下:
class AMPlugin : FlutterPlugin, MethodCallHandler, ActivityAware, PluginRegistry.ActivityResultListener {
private lateinit var channel: MethodChannel
private var activity: Activity? = null
override fun onAttachedToEngine(@NonNull flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) {
val engine = flutterPluginBinding.flutterEngine
channel = MethodChannel(engine.dartExecutor, "aM")
channel.setMethodCallHandler(this)
}
override fun onMethodCall(@NonNull call: MethodCall, @NonNull result: Result) {
when (call.method) {
else -> result.notImplemented()
}
}
override fun onDetachedFromEngine(@NonNull binding: FlutterPlugin.FlutterPluginBinding) {
channel.setMethodCallHandler(null)
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?): Boolean {
return true
} …Run Code Online (Sandbox Code Playgroud) 我有一个PlatformView用于在我的 Flutter 应用程序中显示地图。平台视图位于插件中,因此它PluginRegistry可以使用方法访问并注册平台视图PlatformViewRegistry platformViewRegistry()。
但是,我想将它从插件移动到主项目,以便将所有内容保留在一个项目中。
这可能platformViewRegistry吗,在这种情况下我应该如何访问?
我正在开发一个 Flutter 插件(用 Swift)尝试包装 Obj-C 框架。我能够导入 MyPlugin.h 文件中的标头文件,但现在如何在没有桥接标头的情况下使用该框架?我刚刚得到not found in scope。
如果我要生成桥接标头,我会遇到另一个错误 using bridging headers with framework targets is unsupported
这是我的 podspec 文件,我必须将 DEFINES_MODULE 设置为 NO 才能构建项目而不会遇到Include of non-modular header inside framework module错误
Pod::Spec.new do |s|
s.name = 'lisnr'
s.version = '1.0.0'
s.summary = 'Flutter plugin for LISNR'
s.description = <<-DESC
Flutter plugin for LISNR.
DESC
s.homepage = 'redacted'
s.license = { :file => '../LICENSE' }
s.author = { 'redacted' => 'redacted' }
s.source = { …Run Code Online (Sandbox Code Playgroud)