Flutter:在通道 plugins.flutter.io/path_provider 上找不到方法 getApplicationDocumentsDirectory 的实现

时间:2020-12-20 00:35:40

标签: android flutter

我在这里遇到了这个错误。而且,正在努力解决这个问题。

  • 错误

    E/flutter (14838): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] 未处理的异常:MissingPluginException(在通道 plugins.flutter.io/path_provider 上找不到方法 getApplicationDocumentsDirectory 的实现) E/flutter (14838): #0 GetStorage._init (package:get_storage/src/storage_impl.dart:47:7) E/扑(14838): E/flutter (14838):#1 新 GetStorage._internal。 (包:get_storage/src/storage_impl.dart:27:7) E/扑(14838): E/flutter (14838): #2 main (package:flutterapp/main.dart:33:3) E/扑(14838): E/扑(14838):

MainActivity.kt

package com.example.sp

import io.flutter.embedding.android.FlutterActivity

class MainActivity: FlutterActivity() {
}

生成的PluginRegistrant.java

package io.flutter.plugins;

import androidx.annotation.Keep;
import androidx.annotation.NonNull;

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


@Keep
public final class GeneratedPluginRegistrant {
  public static void registerWith(@NonNull FlutterEngine flutterEngine) {
    ShimPluginRegistry shimPluginRegistry = new ShimPluginRegistry(flutterEngine);
    flutterEngine.getPlugins().add(new io.flutter.plugins.connectivity.ConnectivityPlugin());
      com.roughike.facebooklogin.facebooklogin.FacebookLoginPlugin.registerWith(shimPluginRegistry.registrarFor("com.roughike.facebooklogin.facebooklogin.FacebookLoginPlugin"));
    flutterEngine.getPlugins().add(new io.flutter.plugins.flutter_plugin_android_lifecycle.FlutterAndroidLifecyclePlugin());
    flutterEngine.getPlugins().add(new com.baseflow.geolocator.GeolocatorPlugin());
    flutterEngine.getPlugins().add(new io.flutter.plugins.googlemaps.GoogleMapsPlugin());
    flutterEngine.getPlugins().add(new io.flutter.plugins.googlesignin.GoogleSignInPlugin());
    flutterEngine.getPlugins().add(new io.flutter.plugins.imagepicker.ImagePickerPlugin());
    flutterEngine.getPlugins().add(new dev.flutter.plugins.integration_test.IntegrationTestPlugin());
    flutterEngine.getPlugins().add(new io.flutter.plugins.pathprovider.PathProviderPlugin());
    flutterEngine.getPlugins().add(new io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin());
    flutterEngine.getPlugins().add(new com.aboutyou.dart_packages.sign_in_with_apple.SignInWithApplePlugin());
    flutterEngine.getPlugins().add(new com.tekartik.sqflite.SqflitePlugin());
    flutterEngine.getPlugins().add(new io.flutter.plugins.urllauncher.UrlLauncherPlugin());
    flutterEngine.getPlugins().add(new io.flutter.plugins.videoplayer.VideoPlayerPlugin());
  }
}

pubscpec

dependencies:
  flutter:
    sdk: flutter
  get: ^3.22.2
  custom_splash: ^0.0.2
  http: ^0.12.2
  provider: ^4.3.2+2
  google_fonts: ^1.1.1
  flutter_slidable: ^0.5.7
  get_storage: ^1.3.2
  # background_fetch: ^0.6.0
  video_player: ^1.0.1
  modal_bottom_sheet: ^1.0.0+1
  socket_io_client: ^0.9.12
  google_sign_in: ^4.5.6
  url_launcher: ^5.7.10
  animations: ^1.1.2
  shared_preferences: ^0.5.12+4
  sign_in_with_apple: ^2.5.4
  connectivity: ^2.0.2
  image_picker: ^0.6.7+14
  google_maps_flutter: ^1.0.6
  splash_screen_view: ^1.0.3
  flutter_facebook_login: ^3.0.0
  fab_circular_menu: ^1.0.0
  liquid_pull_to_refresh: ^2.0.0
  font_awesome_flutter: ^8.10.1
  cached_network_image: ^2.4.1
  geolocator: ^6.1.13

iOS 运行良好,我认为它仅与 Android 相关。我已经做了 flutter cleanflutter run。尝试将其添加到 GeneratedPluginRegistrant.java 或我能找到的其他解决方案中。

1 个答案:

答案 0 :(得分:1)

你有没有试过 Link

我也遇到了类似的问题,但现在可以继续使用 getDatabasesPath() 而不是 getApplicationDocumentsDirectory()