After some internal deliberation, we’ve come to the conclusion that this is not anything done incorrectly on your end but simply a change in Google’s policy. As Angeleah mentioned above the
Branch module is bundled with binaries built via
expo build. We do this for most modules to enable developers to be able to make use of them by pushing an OTA update rather than having to build a new binary… so even if you are not explicitly using the Branch module, the native code is still present in your app and that seems to be enough for Google to flag it.
We’ve deemed the best path forward is to remove the Branch module from being bundled in with
.apk files built via
expo build:android so that developers can get their apps back in the Play Store ASAP. We’ve just rolled out an update to our SDK32 builders and will be pushing an update out later today for the remaining supported SDK version builders (26-31). If your app is running a version older than that, you will have to update to an officially supported version. Once your version builder is updated, you’ll just need to build a new binary via
expo build:android and submit it to the play store. Remember you can pass the
--no-publish flag to the build command if you do not want to push any JS changes.
We’ll also be pushing out updates to ExpoKit versions, in which case you’ll have to change the ExpoKit version in your
package.json and run
yarn add or
npm install and then build a new
.apk file in Android Studio.
If your app is a Managed project and you explicitly use the
Branch module, you’ll need to eject and use
.apk version to the Play Store at which you’ll have to eject and use ExpoKit. We understand this is far from an ideal solution and we’ll be working towards getting a more elegant solution in place as soon as we can.
I’ll continue posting updates in this thread.