How Can I Ship an App Bundle Without Giving Google Signing Authority?

Viewed 1891

In Milena Nikolic's "What's New in Google Play" presentation as part of Google's #android11 launch, she said:

As we continue to improve the App Bundle, we expect it to become a requirement for all new apps sometime in 2021.

Everything I have seen in the documentation suggests that the only way to work with App Bundles in the Play Store is to use their Play App Signing service, such as:

Enroll into app Play App Signing. Otherwise, you can't upload your app bundle to the Play Console.

(from https://developer.android.com/guide/app-bundle)

If you build and upload an Android App Bundle, you must enroll in app Play App Signing.

(from https://developer.android.com/studio/publish/upload-bundle)

And, because app bundles defer building and signing APKs to the Google Play Store, you need to opt in to Play App Signing before you upload your app bundle.

(from https://developer.android.com/studio/publish/app-signing)

But, Google's documentation has many gaps.

So, is there an option that I'm missing, whereby I can distribute an app via an App Bundle without using Play App Signing? For example, perhaps I could use bundletool to build the individual APK bits, sign them locally, then upload those results.

2 Answers

Just to confirm what the documentation says, it is a requirement to use Play App Signing in order to publish with App Bundles on Google Play.

Source: I am on the Android team at Google.

To answer this question I will briefly explain how App Bundle works. Here are main points:

  • App Bundle is just a set of all your code a resources packaged into a special format archive.

  • It is not a built project as you may expect with apk file.

  • Thus in order Google to distribute it to Play Store it must firstly build it and sign it with release keystore.

  • You must enroll in app Play App Signing your keystore for Google to be able to sign the app built out of App Bundle.

As it is obvious from the points above - there is not workaround for that and I doubt there will be due to the physical requirements of build process and Google desire of more control over what is going to its store.

Why Google moves to this approach. Mainly because:

  • Many developers do not care about app size and resources optimization, thus the build becomes much bigger and slower that it could have been.

  • Easier security checks.

  • It allows us to use feature modules in our apps.

So we just need to get ready to changed app publishing.

Related