Unraveling the mystery behind Play Store App Signing and App Bundles
Being a software developer in the 21st century means learning and unlearning a lot of technologies and methodologies as you move along. This is mostly true in the world of native Android development where things change pretty fast. Google recently added a new way of distributing Android applications via the use of App Bundles and it’s associated Play Store App Signing.
What is Play Store App Signing?
Play Store App Signing is Google’s own way of managing Android application signing keys on behalf of the developer. Before an Android app can be published to the Play Store, it must be signed with an encrypted unique private key. To ensure that subsequent updates to the app are coming from the authentic source, each private key has an associated public key which is used to verify updates to the application. This key is unique to every application which means once the key is lost, new versions of that particular application for which the key was generated cannot be published on the play store. Google have decided to lift the burden of key management from developers thus, storing and keeping the keys and using them to sign the App Bundles automatically whenever a developer wants to distribute an application through the Google Play Store.
Why do I need Play Store App Signing?
APKs can be uploaded to the App Store and published without necessarily enrolling in Play Store App Signing. However, before a developer can upload an App Bundle which is Google’s new and recommended way of distributing Apps on the Play Store, Google makes it a requirement for the developer to enroll in Play Store App Signing. In fact, an attempt to upload an App Bundle without enrolling in Google App Signing presents the user with the error message “To upload an Android App Bundle you must be enrolled in Google Play App Signing”.

What is an App Bundle, what are the benefits and how do I create it?
From the Android Developers website, http://www.developer.android.com/, “App bundle is simply an improved way to package your app”. What Google means by improved is that users of your application will have smaller download files when you upload an App Bundle as compared to legacy APKs. This is made possible by the fact that users are served with only the necessary assets based on their device type. For instance, if you have both XXHDPI and XHDPI images bundled with your app, a user who has a newer phone with a higher screen density (eg XXHDPI) will only be served a version of the APK where all other resources but that of XXHDPI are stripped off. This can reduce the download size by almost 40%. In newer versions Android Studio, the option to create an App Bundle is available from the Build menu.
How do I enroll in the Google Play Store App Signing?
Enrolling in the Google Play Store App Signing is quite simple but can be confusing at the first try. The steps involved are outlined below.
From the Play Console, click on the Application for which you would want App Signing.

Now click on “App Signing” from the left side menu. Before you do this, ensure that you have at least one APK uploaded.

Expand the (Advanced Options) to reveal all the options that are provided by the Play Store Console

After choosing continue and uploading your first APK, Google will automatically extract the public key from the APK, store and verify it with subsequent releases of your Application before they are published to the Play Store.

From here, whenever you want to update your app, just generate a signed App Bundle and upload to the play store and publish it.
