In my flutter app I have been using these following plugin permission_handler, geolocator and google_api_availibility.
I could have added this plugin from flutter package from pubspec.yml, however, in my app i am using google_map_flutter plugin which has been using AndroidX support libraries. Due this reason I have added those library locally with some changes to work with AndroidX. So my app structure and pubspecs looks like this.
So in my app pubspecs.yml
dev_dependencies: flutter_test: sdk: flutter permission_handler: path: my_permission_handler geolocator: path: flutter-geolocator
My my_permission_handler’s pubspecs.yml
flutter: plugin: androidPackage: com.baseflow.permissionhandler pluginClass: PermissionHandlerPlugin
My api_availibility’s pubspec.yml
flutter: plugin: androidPackage: com.baseflow.googleapiavailability pluginClass: GoogleApiAvailabilityPlugin
My geolocator’s pubspec.yml
dependencies: meta: "^1.0.5" flutter: sdk: flutter permission_handler: path: ../my_permission_handler google_api_availability: path: ../flutter-google-api-availability
but it shows this error The imported library ‘package:geolocator/model/position.dart’ can’t have a part-of directive
I have no idea what I’m doing wrong here, please help me.
First of let’s look into the code for package:geolocator/modles/position.dart
part of geolocator; at the very beginning of the file meaning this class is a part of the plugin which is exposed in the file package:geolocator/ like this
part 'models/position.dart';. So here in your client code you don’t need to import the class Position this way.
if you modify your import statement this way the error will be gone
I hope it helps.
Answered By – PuchkaIndur
Answer Checked By – Cary Denson (FlutterFixes Admin)