Build failed error: cannot find symbol if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)

18,336

Solution 1

Simply upgrade the compileSdkVersion and targetSdkVersion to 31 in your android/app/build.gradle file.

Solution 2

Updated-: make sure you set compileSdkVersion in your android/app/build.gradle file to 31

Old-: I encounter this error while using the Geolocator plugin in the flutter app. to Solve this error you have to open LocationMapper.java (you can find this path in your Debug console). and remove this part

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S)

and also make sure your android compile version is 30 (For GeoLocator Build.gradle)

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
      position.put("is_mocked", location.isMock());
   } 

Solution 3

Build.VERSION_CODES.R only exists in API 30, but you're compiling with API 29.

The compileSdkVersion should be set to 30 if you want to use Build.VERSION_CODES.R.

Update for cordova-android@10

As of cordova-android@10, compileSdkVersion has been removed android-targetSdkVersion is unified to set both the target & compile SDK versions, so that they always remain consistent.

Solution 4

enter image description here

Find and change this line form 30 to 31.

Solution 5

I just changed from compileSdkVersion 30 to compileSdkVersion 31 in build.gradel and everything became okay

Share:
18,336

Related videos on Youtube

fagbemi ayodele
Author by

fagbemi ayodele

Updated on September 15, 2022

Comments

  • fagbemi ayodele
    fagbemi ayodele over 1 year

    I tried building my ionic app after development; but in the process the following errors surfaced:

    C:\incidentApp\platforms\android\app\src\main\java\com\moust\cordova\videoplayer\VideoPlayer.java:123: error: cannot find symbol if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { ^ > Task :app:compileDebugJavaWithJavac symbol: variable R location: class VERSION_CODES C:\incidentApp\platforms\android\app\src\main\java\com\moust\cordova\videoplayer\VideoPlayer.java:124: error: cannot find symbol dialog.getWindow().getInsetsController().hide(WindowInsets.Type.statusBars()); ^ symbol: variable Type location: class WindowInsets C:\incidentApp\platforms\android\app\src\main\java\com\moust\cordova\videoplayer\VideoPlayer.java:124: error: cannot find symbol dialog.getWindow().getInsetsController().hide(WindowInsets.Type.statusBars()); ^ symbol: method getInsetsController() location: class Window Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 3 errors

    FAILURE: Build failed with an exception.

    Task :app:compileDebugJavaWithJavac FAILED 24 actionable tasks: 1 executed, 23 up-to-date

    • What went wrong: Execution failed for task ':app:compileDebugJavaWithJavac'.

    Compilation failed; see the compiler error output for details.

    • Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    • Get more help at https://help.gradle.org

    BUILD FAILED in 2m 5s c:\incidentApp\platforms\android\gradlew: Command failed with exit code 1 Error output: C:\incidentApp\platforms\android\app\src\main\java\com\moust\cordova\videoplayer\VideoPlayer.java:123: error: cannot find symbol if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { ^ symbol: variable R location: class VERSION_CODES C:\incidentApp\platforms\android\app\src\main\java\com\moust\cordova\videoplayer\VideoPlayer.java:124: error: cannot find symbol dialog.getWindow().getInsetsController().hide(WindowInsets.Type.statusBars()); ^ symbol: variable Type location: class WindowInsets C:\incidentApp\platforms\android\app\src\main\java\com\moust\cordova\videoplayer\VideoPlayer.java:124: error: cannot find symbol dialog.getWindow().getInsetsController().hide(WindowInsets.Type.statusBars()); ^ symbol: method getInsetsController() location: class Window Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 3 errors

    FAILURE: Build failed with an exception.

    • What went wrong: Execution failed for task ':app:compileDebugJavaWithJavac'.

    Compilation failed; see the compiler error output for details.

    I'd tried everything(removing of android package and re-installing) I could lay my hands on but still not working.

    Below is my build.gradle

     project.ext {
          defaultBuildToolsVersion="29.0.3" //String
          defaultMinSdkVersion=22 //Integer - Minimum requirement is Android 5.1
          defaultTargetSdkVersion=28 //Integer - We ALWAYS target the latest by default
          defaultCompileSdkVersion=29 //Integer - We ALWAYS compile with the latest by default
        }
    
  • Enes Çalışkan
    Enes Çalışkan over 2 years
    You sir , you are a lifesaver! I spent hours to get geolocater to work and finally i fixed it thanks to you! Thank you so much!
  • iqfareez
    iqfareez over 2 years
    The correct way is to pin the geolocator's version number. Refer here