I’m getting the current error when compiling a project with Geolocator pluggin:
C:srcflutter.pub-cachehostedpub.dartlang.orggeolocator_android-2.0.0androidsrcmainjavacombaseflowgeolocatorlocationLocationMapper.java:29: error: cannot find symbol
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
^
symbol: variable S
location: class VERSION_CODES
C:srcflutter.pub-cachehostedpub.dartlang.orggeolocator_android-2.0.0androidsrcmainjavacombaseflowgeolocatorlocationLocationMapper.java:30: error: cannot find symbol
position.put("is_mocked", location.isMock());
^
symbol: method isMock()
location: variable location of type Location
2 errors
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':geolocator_android:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
I have already created another project to test if the error would occur, and when importing the package, the error occurs as well. I followed the gradle.properties configuration
and set the compileSdkVersion to 30 and checked the Flutter Doctor too, everything is ok, but the error still persists. Does anyone know what might be causing this?
5
Answers
Try to change the targetSdkVersion and the compileSdkVersion to 31.
Don’t forget to check this:
app/src/build.gradle:
gradle.properties:
I hope to help you!
I had the same trouble with geolocator 7.7.0. Here
To fix it, I changed in build.gradle compileSdkVersion from 29 to 31. That works for me.
I had same problem, i fix with download platform version
sdkmanager "platforms;android-31"
, and change compileVersion 31, minSdkVersion 21, and targetSdk 31.In my case I changed the compileSdkVersion to 30.
geolocator: 7.6.2
If you don’t Flutter will still upgrade the geolocator plugin to version 7.7.0. More information can be found here: https://dart.dev/tools/pub/dependencies#caret-syntax
I had the same problem after upgrade flutter to 3.0.3.
I have updated the geolocator plugin to version 9.0.0 and the problem was solved.
Now everything is working fine.