I've got a question for the new AAB file format.
Until now we can use APK and OBB files to split our binaries from the assets. But after uploading a AAB file, I'm not able to upload an OBB file.
What can I do, if I want to use AAB and OBB? What's the best practice for that now?
There is currently no support for OBB files with the Android App Bundle. However, the Google Play team hope to add support for this in the very near future.
---- Edit
A year later and Google has just announced at Google I/O 2019 customizable feature delivery. The hope is that this will do everything OBBs did but much more. See all the details here.
at-install delivery is like OBBs - parts of your app that get installed when your App does. Except that you can have more different parts, not just 2.
on-demand delivery lets you install parts of your app later.
Related
I am building an app using React Native that involves the use of many assets (specifically .mp4 files).
My app is around 430mb.
On the Android side, I have followed the Play Asset Delivery official documentation, and I cannot get it to work.
I am only using install_time assets, and therefore have not used the Play Core API. After setting everything up (as per the documentation), I generate a Signed Bundle, and try to upload it for internal testing on Google Play Console, only to get an error back because of my bundle size being larger than 150mb.
I cannot find anything online about this, as there are no tutorials or helpful documents yet, and everything I have found has been Unity related, which I am not using.
I currently have a module for the install_time_asset_pack, and a AndroidManifest.xml was generated when I built my app. That being said the bundle is still above 150mb and the Play Console does not seem to split the encapsulated .APK file and the PAD when I try to upload.
Does anyone know anything about this? Or can someone point me to an actually helpful tutorial to implement PAD? Preferably not unity related please.
Thanks!
EDIT:
So it seems the APK generated in my .aab file (the base folder) was larger than 150mb. It seemed to also keep the assets I split into the asset-packs, and thats why it had the large size. So I unzipped the .aab, removed those, and now I don't know how to zip the .aab together again. Any thoughts?
I am currently working on an android game but when I try to build it, we can do it in two ways i.e.
If we check the Bundle Opting in the build menu then it will come in a single file of formate .adb (Android Debug Bride) it may or may not work with Google Play Store or the App Store but I am not targeting on that I wanted a file or files that I can share with my friends or on itch.io because you can only upload a file or files on it, it is not responsible for installing for anything and whoever downloads the from it, he will just get the file on his/her android device and will not get an installed app to start playing it.
we can also check the Splitting opting in the player menu of project setting and then the build will split into two files, 1. .apk , 2. .obb. well this is a good option but with the same problem if I upload it to a distributor or share it to my friends the two files will be downloaded or shared with no installation
Please tell me a way how I can make a file that can download itself or any solution to this.
I just want a way to build an android game that can easily be installed through a distributor or through sharing
Thank You in Advance
What you want is just an APK.
An app bundle is intended for the Google Play Store. If you upload your app as an app bundle to the Play Store, Google repackages it into multiple APKs which only contain the data and code that is required for specific device configurations of end users. E.g. it only contains specific languages, and code for specific architectures and so on.
If you enable the "Split Application Binary" option, Unity limits the size of your APK to 100MB since this is the limit of the Google Play Store. It then creates the expansion file (.obb) which you would also upload to the Play Store.
In your case, you don't need any of it. You need one APK.
Disable "Build AppBundle (Google Play)" and "Split Application Binary" and you should be able to create one big APK.
I'm currently looking at using the new App Bundle feature for an app that is already published.
The app has a size of 13MB but uses an expansion file of 61MB to store an audio sample library (a collection of static audio files) that is mandatory for the app.
First reason for that is that when I first developed the app, the app size limit was 50MB. But most importantly, this is working out nicely because when the app is updated, users are only downloading the 13MB APK file as the .obb expansion file doesn't need to be updated.
I now would like to use an Android Bundle to reduce the APK size by splitting density, but this feature is apparently not compatible with OBB files.
I could put the audio sample library in the Android Bundle, but if I understand correctly, that audio library would be downloaded each time a user updates the app?
Is there a way to achieve the "best of both worlds" by providing an Android Bundle but avoid the download of the library at each update?
The Play Store serves patches of APKs for updates (i.e. only the difference between the version currently on device and the newest version being installed), so if that big file doesn't change, the update will be small.
We have an Android application that supports up to 5 languages. If we were to pre-install a set of data, we would normally add 5 zip files (1 for each language). However, the data has since grown to be 100Mb each. As such, its not possible to package all the 5 zips in the assets folder.
What options do we have to creating a APK with pre-installed data? Is it possible for users to install a extension pack based on their device locale? Or do we have to upload 5 APKs in the Play Store, one for each language.
In documentation, it is given -
Google Play currently requires that your APK file be no more than
100MB . If your app exceeded 100MB, you had to host and download the additional resources yourself when the user opens the app.
Read this about APK Expansion Files.
Also, In this answer, it is given how to make .obb file as .zip file and upload it on Play Store.
OR
You can also make a check on App opens / or ask the user to download the language pack and download it directly from the server .(That would be simpler and easier one).
I am new to Android app development. My application has a size of 90MB and exceeds the Google Play limit. The developer console suggests to use APK expansion and to create an obb file. But I do not understand how to create an obb file and APK expansion. Does anyone know a better way to do that without changing any code in my application?
Thanks in advance. I'd like to see samples or tutorials about this topic.
I know it's a late answer, but it may help others who encounter a similar issue:
As of recently (Sept. 2015), you are able to upload APKs up to 100 MB if you are targeting Android 2.3 and above - you can read more about it on this help page. Since your app is 90 MB, you should be okay. There is also the Android developers blogspot article explaining the changes here.
Alternatively, or if your app exceeds the 100 MB APK limit, you can use expansion files. These are additional files that are downloaded after your app has installed and can be up to 4 GB (to be specific, you can have two expansion files of up to 2 GB each). You can learn more about expansion files on this page on the Android Developers website.
However, note that there are some limitations to using expansion files, apart from the 2 GB limit per file such as the fact that the user must have downloaded your app through Google Play. More details on these can also be found on the Android Developers page linked above.