How to solve: Error in compilation with Geolocator pluggin

Question

Asked by Felipe R on October 07, 2021 (source).

I'm getting the current error when compiling a project with Geolocator pluggin:

C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\geolocator_android-2.0.0\android\src\main\java\com\baseflow\geolocator\location\LocationMapper.java:29: error: cannot find symbol
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
                                                    ^
  symbol:   variable S
  location: class VERSION_CODES
C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\geolocator_android-2.0.0\android\src\main\java\com\baseflow\geolocator\location\LocationMapper.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?

Answer

Question answered by John (source).

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.

android {

    compileSdkVersion 31
    defaultConfig {
        minSdkVersion 21 
        targetSdkVersion 29
        ...
    }
...
}
ANDROID-STUDIO DART-PUB FLUTTER FLUTTER-DEPENDENCIES
SHARE: