stripe / stripe-react-native

React Native library for Stripe.
https://stripe.dev/stripe-react-native
MIT License
1.28k stars 263 forks source link

Android 34 compileSdkVersion update seems to be required earlier than expected #1761

Open johnnywang opened 1 month ago

johnnywang commented 1 month ago

Describe the bug I know these packages are pretty old at this point, but we need to do a partial Stripe upgrade before doing the full Expo/RN upgrade.

The package changelog mentions that the Android compileSdkVersion needs to be at least 34 as of 0.37.0. However, it seems like breaking changed was introduced even earlier, in 0.34.0, because installing this version and trying to build the Android app will throw the following errors:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkDevelopmentDebugAarMetadata'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
   > 2 issues were found when checking AAR metadata:

       1.  Dependency 'androidx.emoji2:emoji2-views-helper:1.4.0' requires libraries and applications that
           depend on it to compile against version 34 or later of the
           Android APIs.

           :app is currently compiled against android-33.

           Also, the maximum recommended compile SDK version for Android Gradle
           plugin 7.4.2 is 33.

           Recommended action: Update this project's version of the Android Gradle
           plugin to one that supports 34, then update this project to use
           compileSdkVerion of at least 34.

           Note that updating a library or application's compileSdkVersion (which
           allows newer APIs to be used) can be done separately from updating
           targetSdkVersion (which opts the app in to new runtime behavior) and
           minSdkVersion (which determines which devices the app can be installed
           on).

       2.  Dependency 'androidx.emoji2:emoji2:1.4.0' requires libraries and applications that
           depend on it to compile against version 34 or later of the
           Android APIs.

           :app is currently compiled against android-33.

           Also, the maximum recommended compile SDK version for Android Gradle
           plugin 7.4.2 is 33.

           Recommended action: Update this project's version of the Android Gradle
           plugin to one that supports 34, then update this project to use
           compileSdkVerion of at least 34.

           Note that updating a library or application's compileSdkVersion (which
           allows newer APIs to be used) can be done separately from updating
           targetSdkVersion (which opts the app in to new runtime behavior) and
           minSdkVersion (which determines which devices the app can be installed
           on).

To Reproduce Steps to reproduce the behavior:

  1. Set package version to 0.34.0
  2. Build the Android app and observe the error above
  3. Lower package version to 0.33.0
  4. Rebuild and notice it passing

Expected behavior Changelog should be updated to reflect the breaking change