Android App Bundle, how to upload game larger than 100 mb?

I just tested uploading my game, ~350mb, using android app bundle, according to the documentation, About Android App Bundles  |  Android Developers,

“Publishing with Android App Bundles also increases the app size limit to 500MB without having to use APK expansion files.”

However when I upload the 350mb aab file to the store this is what happens :

Any ideas ?

So, does anyone here tried this “new” upload method and got it to work ?

This is the reply I got from google…

However with Unity that doesn’t seem very possible to do ?

If I build with Split Application Binary I can’t upload the expansion file to the AAB build in Google Console, if I don’t, then the APK gets the full content and goes over 100MB…

Is there really nobody who tried this ?

Will unity ever implement this ?

aab is kinda useless right now, until they change the APK limit from 100mb to 500mb (specifically for aabs though).

The feature (going from 100mb to 500mb) is in early access now, some developers have it, others don’t. It will (soon?) be available to everyone. So if you can, wait until then.

1 Like

From what I understood the limit is really 500MB, but the APK must be 100 MB.

This is, unity should make things differently when we choose split apk with aab so that we can raise the limitation…

Right now what we do is make essential content attached to the first scene and choose split binary, unity will make a small(ish) apk under 100mb and then the obb with the remaining content.

We then upload both those files to google play and google play delivers them to the client, this process works but has issues as the infamous wrong access permission to the obb file which forces us to request read/write permission to the user device external storage for the obb file to be accessed, even though we shouldn’t need it. (This is an android issue, not an unity issue.)

But with aab files unity would need to generate the android project using the new “system”, instead of creating a separate obb file the project needs to use this : Google Play Core Library 總覽  |  Android Developers

And then we hopefully no longer need to worry with obb files.

I’m not experienced with android projects, but I will take a look into it when the time allows… Maybe it’s an easy fix, maybe not.

I wish the guys at unity looked into it since they probably know a lot more about this than me.

That’s not correct.

The aab itself it can be larger than 500mb as long as the resulting APKs are less than 500mb.

But the Google Play Store itself still only allows for 100mb max files to be downloaded from it, so…

Yes, but then with the feature I linked you download the remaining files on demand, which allows up to 500mb games.

The initial apk must be smaller than 100mb.

I believe that is the case, since this is what stated in https://developer.android.com/guide/app-bundle.

Read the Known Issues section

Yes, this is the part I’m talking about and linked above :

“So, users can download apps as large as 500MB and, with dynamic delivery”

However I still haven’t figure out how to use dynamic delivery with Unity, this is what I’m asking here.

It looks like they recently reduced 500MB limit to 150MB: About Android App Bundles  |  Android Developers

1 Like

Hahahahaha

1 Like

I found this hard to believe so I fetched it from archive.org. Sure enough, from March 31, 2019. I hope this is a typo or miscommunication.

http://web.archive.org/web/20190331090954/https://developer.android.com/guide/app-bundle/

I’m glad I didn’t waste my time trying to implement this in Unity then…

Doubt this is a typo.

Hi, looking to this post maybe you can help me. I’m a bit stuck uploading my app to the store.

I tried the App Bundles but my app exceeds the limit of mb so I tried to split it by architecture, but when I upload it to the store it says that I have codes and libraries that are not need so I can use those apks neither.

I look into my plugins folder and don’t see any plugin with checks for different Android architectures so I can’t figure out where the hell are those libraries.

Does any one have a trick for this kind of issues?
Thank you in advance :smile:

If you’re talking about the new warnings google created you can safely ignore them.

Google wants people to use the new AAB but they ignored the fact that games can be larger than their 150mb limit and annoys us with useless warnings.

If your game cannot be uploaded using AAB you have no choice AFAIK.

What you should do:

Always try to send the game first with AAB to avoid issues, choose “Split APK by target architecture” and uncheck “Split application binary”, then check “Build App Bundle” and build, it will create a single AAB file you send to google, the AAB file can be larger than 150mb, google will create the apk file for your on their end, and if the APK they generate has more than 150mb they will not let you upload the game.

It is the best way to upload the game now, and if your game is only a few MB above the limit you should try to lower it (compressing more textures, audio files, removing any possible garbage, etc).

Now, if you have no way to lower it further (like my game is 400mb due to many textures needed), you have to do it the “bad” way.

You will have to check “Split APK by target architecture”, check “Split application binary” and unckeck “Build App Bundle”. When you build unity will ask for a folder and create 4 files, 3 are apk files by architecture, 1 arm7, 1 x86 and one x64, and the other is the obb file.

When you upload to google then you need to upload all apks (in the same release, it will show the different versions when you upload), then FOR EACH APK uploaded, you have to add the obb file, you have to repeat this for every architecture, Google will once again warn you that you’re uploading the same file 3 times (the obb file is the same indeed), IGNORE it, if you don’t do it this way the game will not work.

Google will then complain with more warnings, you have no choice but to ignore.

This also comes with the problem of a known bug on androids, when the game is downloaded from google play the obb file has the wrong owner set to it, and so your game will now need access external storage permission to access the obb file or it will once again not function since it cannot access the obb files, this means you need to put a request for a permission to access the players personal photos (this is what the permission message actually says) even when you’re not doing it, just because of a bug on Google’s code, and they won’t fix it! Bug related: Google Issue Tracker
If the player refuses the permission the game will only work after a device reboot, this means the first scene in your Android Unity game has to be a scene forcing the permission request and not allowing the game to continue unless you have the permission…

13 Likes

Thank you @free4allgames !

I’m at the bad case like you :(. I already tried the steps you said but I can’t click the launch button even on internal test, it is like I can’t ignore the warnings. I sent a ticket to Google because I do not know what more to try without downgrade the assets as you said, but some one here will kill me if I compress it more xD

Forget it, my client didn’t complete all store data ¬¬. Sorry, so many frustation that I didn’t notice

But they forgot to make it worth using. Fun!

2 Likes