我正在创建一个新的Flutter插件
我在创建它时将其命名为my_flutter_plugin
。但是现在我想更改主类名称。
当前是这样:
// lib/my_flutter_plugin.dart
import 'dart:async';
import 'package:flutter/services.dart';
class MyFlutterPlugin {
static const MethodChannel _channel =
const MethodChannel('my_flutter_plugin');
static Future<String> get platformVersion async {
final String version = await _channel.invokeMethod('getPlatformVersion');
return version;
}
}
我想将MyFlutterPlugin
更改为AnotherName
,但是当我查看pubspec.dart时会说:
# The following section is specific to Flutter.
flutter:
# This section identifies this Flutter project as a plugin project.
# The androidPackage and pluginClass identifiers should not ordinarily
# be modified. They are used by the tooling to maintain consistency when
# adding or updating assets for this project.
plugin:
androidPackage: com.example.my_flutter_plugin
pluginClass: MyFlutterPlugin
我想将软件包名称保留为my_flutter_plugin
,但这似乎表明我不能(或不应该)更改插件类名称。
如何更改班级名称?
答案 0 :(得分:0)
pubspec.yaml 中的pluginClass
与使用方法通道的类不同。实际上,如果您将项目命名为my_flutter
而不是my_flutter_plugin
,则 pubspec.yaml 中的pluginClass
仍会显示myFlutterPlugin
,但您的lib方法通道的类为MyFlutter
。
在您的lib文件夹类(在本例中为lib/my_flutter_plugin.dart
)中,只需像通常重命名任何类那样重构类名即可。您可以将其重命名为AnotherName
。只要您使用IDE工具进行重构,这还将更新example
和test
文件夹中的类名。
只需在使用字符串的任何地方更改它的名称即可。在新的插件项目中,该文件夹将位于lib
文件夹和test
文件夹中。而不是
static const MethodChannel _channel =
const MethodChannel('my_flutter_plugin');
您可以给它一个唯一的名称,例如
static const MethodChannel _channel =
const MethodChannel('com.example.my_flutter_plugin/another_name');