我们在项目使用过程中经常会出现插件热更新无法下载或者使用时各种掉坑,但是把编辑环境关闭,重启又OK了,

        今天说说flutter clean后,原先引入得工程为何不能使用?

        首先在flutter初步创建工程得时候,会创建两个文件:

        .flutter-plugins

        .flutter-plugins-dependencies

       1. 当我们执行flutter clean后会将.flutter-plugins 和 .flutter-plugins-dependencies删掉。

# flutter clean

      2.再次执行flutter pub get 后并没有创建这两个文件。

这就导致java端代码GeneratedPluginRegistrant.java出现问题:

package io.flutter.plugins;

import androidx.annotation.Keep;
import androidx.annotation.NonNull;
import io.flutter.Log;

import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry;

/**
 * Generated file. Do not edit.
 * This file is generated by the Flutter tool based on the
 * plugins that support the Android platform.
 */
@Keep
public final class GeneratedPluginRegistrant {
  private static final String TAG = "GeneratedPluginRegistrant";
  public static void registerWith(@NonNull FlutterEngine flutterEngine) {
    ShimPluginRegistry shimPluginRegistry = new ShimPluginRegistry(flutterEngine);
    try {
      flutterEngine.getPlugins().add(new xyz.luan.audioplayers.AudioplayersPlugin());
    } catch(Exception e) {
      Log.e(TAG, "Error registering plugin audioplayers, xyz.luan.audioplayers.AudioplayersPlugin", e);
    }
    try {
      flutterEngine.getPlugins().add(new io.flutter.plugins.deviceinfo.DeviceInfoPlugin());
    } catch(Exception e) {
      Log.e(TAG, "Error registering plugin device_info, io.flutter.plugins.deviceinfo.DeviceInfoPlugin", e);
    }
    try {
      com.studyyoun.flutter_guidance_plugin.FlutterGuidancePlugin.registerWith(shimPluginRegistry.registrarFor("com.studyyoun.flutter_guidance_plugin.FlutterGuidancePlugin"));
    } catch(Exception e) {
      Log.e(TAG, "Error registering plugin flutter_guidance_plugin, com.studyyoun.flutter_guidance_plugin.FlutterGuidancePlugin", e);
    }
    try {
      flutterEngine.getPlugins().add(new com.chavesgu.flutter_orientation.FlutterOrientationPlugin());
    } catch(Exception e) {
      Log.e(TAG, "Error registering plugin flutter_orientation, com.chavesgu.flutter_orientation.FlutterOrientationPlugin", e);
    }
    try {
      flutterEngine.getPlugins().add(new io.flutter.plugins.pathprovider.PathProviderPlugin());
    } catch(Exception e) {
      Log.e(TAG, "Error registering plugin path_provider, io.flutter.plugins.pathprovider.PathProviderPlugin", e);
    }
    try {
      flutterEngine.getPlugins().add(new io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin());
    } catch(Exception e) {
      Log.e(TAG, "Error registering plugin shared_preferences, io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin", e);
    }
    try {
      flutterEngine.getPlugins().add(new com.tekartik.sqflite.SqflitePlugin());
    } catch(Exception e) {
      Log.e(TAG, "Error registering plugin sqflite, com.tekartik.sqflite.SqflitePlugin", e);
    }
    try {
      flutterEngine.getPlugins().add(new io.flutter.plugins.webviewflutter.WebViewFlutterPlugin());
    } catch(Exception e) {
      Log.e(TAG, "Error registering plugin webview_flutter_android, io.flutter.plugins.webviewflutter.WebViewFlutterPlugin", e);
    }
  }
}

这些第三方插件就会找不到

如果之前没备份,那么这时候需要手动创建这两个文件:

然后将flutter插件路径填进去。

路径再flutter-.pub-cache-hosted-pub.flutter-io.cn下。

参考如下:

.flutter-plugins文件:

# This is a generated file; do not edit or check into version control.
audioplayers=E:\\flutter\\.pub-cache\\hosted\\pub.flutter-io.cn\\audioplayers-0.20.1\\
device_info=E:\\flutter\\.pub-cache\\hosted\\pub.flutter-io.cn\\device_info-2.0.2\\
flutter_guidance_plugin=E:\\flutter\\.pub-cache\\hosted\\pub.flutter-io.cn\\flutter_guidance_plugin-0.0.3\\
flutter_orientation=E:\\flutter\\.pub-cache\\hosted\\pub.flutter-io.cn\\flutter_orientation-1.0.0\\
path_provider=E:\\flutter\\.pub-cache\\hosted\\pub.flutter-io.cn\\path_provider-2.0.5\\
path_provider_linux=E:\\flutter\\.pub-cache\\hosted\\pub.flutter-io.cn\\path_provider_linux-2.1.0\\
path_provider_macos=E:\\flutter\\.pub-cache\\hosted\\pub.flutter-io.cn\\path_provider_macos-2.0.2\\
path_provider_windows=E:\\flutter\\.pub-cache\\hosted\\pub.flutter-io.cn\\path_provider_windows-2.0.3\\
shared_preferences=E:\\flutter\\.pub-cache\\hosted\\pub.flutter-io.cn\\shared_preferences-2.0.8\\
shared_preferences_linux=E:\\flutter\\.pub-cache\\hosted\\pub.flutter-io.cn\\shared_preferences_linux-2.0.2\\
shared_preferences_macos=E:\\flutter\\.pub-cache\\hosted\\pub.flutter-io.cn\\shared_preferences_macos-2.0.2\\
shared_preferences_web=E:\\flutter\\.pub-cache\\hosted\\pub.flutter-io.cn\\shared_preferences_web-2.0.2\\
shared_preferences_windows=E:\\flutter\\.pub-cache\\hosted\\pub.flutter-io.cn\\shared_preferences_windows-2.0.2\\
sqflite=E:\\flutter\\.pub-cache\\hosted\\pub.flutter-io.cn\\sqflite-2.0.0+4\\
webview_flutter=E:\\flutter\\.pub-cache\\hosted\\pub.flutter-io.cn\\webview_flutter-2.1.1\\
webview_flutter_android=E:\\flutter\\.pub-cache\\hosted\\pub.flutter-io.cn\\webview_flutter_android-2.0.15\\
webview_flutter_wkwebview=E:\\flutter\\.pub-cache\\hosted\\pub.flutter-io.cn\\webview_flutter_wkwebview-2.0.14\\

.flutter-plugins-dependencies:

{
	"info": "This is a generated file; do not edit or check into version control.",
	"plugins": {
		"ios": [{
			"name": "device_info",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\device_info-2.0.2\\\\",
			"dependencies": []
		}, {
			"name": "flutter_guidance_plugin",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_guidance_plugin-0.0.3\\\\",
			"dependencies": []
		}, {
			"name": "flutter_orientation",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_orientation-1.0.0\\\\",
			"dependencies": []
		}, {
			"name": "path_provider",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider-2.0.5\\\\",
			"dependencies": []
		}, {
			"name": "shared_preferences",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences-2.0.8\\\\",
			"dependencies": []
		}, {
			"name": "sqflite",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\sqflite-2.0.0+4\\\\",
			"dependencies": []
		}, {
			"name": "webview_flutter_wkwebview",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\webview_flutter_wkwebview-2.0.14\\\\",
			"dependencies": []
		}],
		"android": [{
			"name": "device_info",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\device_info-2.0.2\\\\",
			"dependencies": []
		}, {
			"name": "flutter_guidance_plugin",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_guidance_plugin-0.0.3\\\\",
			"dependencies": []
		}, {
			"name": "flutter_orientation",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_orientation-1.0.0\\\\",
			"dependencies": []
		}, {
			"name": "path_provider",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider-2.0.5\\\\",
			"dependencies": []
		}, {
			"name": "shared_preferences",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences-2.0.8\\\\",
			"dependencies": []
		}, {
			"name": "sqflite",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\sqflite-2.0.0+4\\\\",
			"dependencies": []
		}, {
			"name": "webview_flutter_android",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\webview_flutter_android-2.0.15\\\\",
			"dependencies": []
		}],
		"macos": [{
			"name": "path_provider_macos",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_macos-2.0.2\\\\",
			"dependencies": []
		}, {
			"name": "shared_preferences_macos",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_macos-2.0.2\\\\",
			"dependencies": []
		}, {
			"name": "sqflite",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\sqflite-2.0.0+4\\\\",
			"dependencies": []
		}],
		"linux": [{
			"name": "path_provider_linux",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-2.1.0\\\\",
			"dependencies": []
		}, {
			"name": "shared_preferences_linux",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_linux-2.0.2\\\\",
			"dependencies": ["path_provider_linux"]
		}],
		"windows": [{
			"name": "path_provider_windows",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-2.0.3\\\\",
			"dependencies": []
		}, {
			"name": "shared_preferences_windows",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_windows-2.0.2\\\\",
			"dependencies": ["path_provider_windows"]
		}],
		"web": [{
			"name": "shared_preferences_web",
			"path": "E:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_web-2.0.2\\\\",
			"dependencies": []
		}]
	},
	"dependencyGraph": [{
		"name": "audioplayers",
		"dependencies": ["path_provider"]
	}, {
		"name": "device_info",
		"dependencies": []
	}, {
		"name": "flutter_guidance_plugin",
		"dependencies": []
	}, {
		"name": "flutter_orientation",
		"dependencies": []
	}, {
		"name": "path_provider",
		"dependencies": ["path_provider_linux", "path_provider_macos", "path_provider_windows"]
	}, {
		"name": "path_provider_linux",
		"dependencies": []
	}, {
		"name": "path_provider_macos",
		"dependencies": []
	}, {
		"name": "path_provider_windows",
		"dependencies": []
	}, {
		"name": "shared_preferences",
		"dependencies": ["shared_preferences_linux", "shared_preferences_macos", "shared_preferences_web", "shared_preferences_windows"]
	}, {
		"name": "shared_preferences_linux",
		"dependencies": ["path_provider_linux"]
	}, {
		"name": "shared_preferences_macos",
		"dependencies": []
	}, {
		"name": "shared_preferences_web",
		"dependencies": []
	}, {
		"name": "shared_preferences_windows",
		"dependencies": ["path_provider_windows"]
	}, {
		"name": "sqflite",
		"dependencies": []
	}, {
		"name": "webview_flutter",
		"dependencies": ["webview_flutter_android", "webview_flutter_wkwebview"]
	}, {
		"name": "webview_flutter_android",
		"dependencies": []
	}, {
		"name": "webview_flutter_wkwebview",
		"dependencies": []
	}],
	"date_created": "2021-10-19 13:48:26.562640",
	"version": "2.5.1"
}

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐