Android API level, Expo SDK version, and expo-build-properties

So with the upcoming requirement in the Play store for apps to target Android API level 33 (Meet Google Play's target API level requirement  |  Android Developers), we’ve had to finally start working through our Expo SDK updates. We’ve let things lapse a bit and are currently on Expo SDK 46. We are working our way through the upgrades, but given that we need to have things done by August 30, we are concerned about making it in time.

We are on the managed workflow and this: Reference - Expo Documentation indicates we will need to be on at least Expo SDK 48 to target the correct Android API level. We also see this: docs.expo.dev/versions/latest/sdk/build-properties/ which indicates you can change the target Android API level via expo-build-properties.

Is solving this (while we work through the upgrades) as simple as just updating the expo-build-properties in app.json like so?

{
  "expo": {
    "plugins": [
      [
        "expo-build-properties",
        {
          "android": {
            "compileSdkVersion": 33,
            "targetSdkVersion": 33,
            "buildToolsVersion": "33.0.0"
          }
        }
      ]
    ]
  }
}

Or is there something else we are missing? Essentially, are Expo SDK versions capable of targeting Android/IOS levels above those that are listed on docs.expo.dev/versions/latest/?

I can only have 2 URLs in my post, which is why a couple URLs are plaintext.

I am currently facing the same topic.

After I updated my app to the expo SDK version 49 and installed the “expo-build-properties” plugin I have added this config (like @avrabel-work):

{
  "android": {
      "compileSdkVersion": 33,
      "targetSdkVersion": 33,
      "buildToolsVersion": "33.0.0"
  }
}

I ran a new build on EAS and uploaded it to the Google play console.
Unfortunately it still says “API-Level 21 or higher” for the build.

So I wonder if there is any other config property missing to change the Android API Level to 33?

Happened for 1 of my apps(in others warning disappeared), it was complaining that an old version was also present in “Open testing”

@hssdiv Good point - that might be the reason.
I just checked my latest build in the google play console and found this:

Screenshot 2023-08-22 at 11.44.14

Here it says “Target SDK 33” but “API levels 21+”.
I have not published this build yet so that might be the reason why the warning is still showing…
But I am not sure if the “API levels 21+” is correct.

Could you check one of your apps and see what “API levels” they have?
I found this information by going into the “App bundle explorer” under the “Release” section of the sidebar and then opening the detail view of a build. It’s then in the “Details” tab list at the bottom…

it’s the same

API levels 21+
Target SDK 33