What is "expansion-files"
Google Play currently requires that the APK file be no more than 50 MB. For most applications, this is plenty of room for code and all the application assets. However, some applications need more space for high fidelity graphics, media files, or other large assets. Previously, if your app exceeded 50MB, you had to host and download the additional features yourself when the user opens the app. Hosting and serving the extra files can be expensive, and the user experience is often less than ideal. To make this process easier for you and more enjoyable for users, Google Play allows you to attach two large expansion files that complement your APK.
Google Play hosts the expansion files for your application and serves them to the device at no cost to you. The files are saved from expansion to the location of the shared storage device (the SD card or USB-mount partition, also known as the "external" storage), where your application can access them. On most devices, Google Play downloads the expansion file(s) at the same time as downloading the APK, so that your application has everything it needs when the user first opens. In some cases, however, your application should download the files from Google Play when the application starts.