Search Unity

Creating Android App Bundles (aab) with Unity Cloud Builds

Discussion in 'Unity Cloud Build' started by Nieles_GH, Dec 19, 2018.

  1. Nieles_GH

    Nieles_GH

    Joined:
    Jun 26, 2017
    Posts:
    42
    Is it possible to create the new Android App Bundles with Unity Cloud builds?
     
  2. AlCaTrAzzGames

    AlCaTrAzzGames

    Joined:
    May 17, 2017
    Posts:
    14
    bump, this would be a really strong feature to have (and considering it's part of the unity gradle builds since 2018.3, shouldn't be that hard to implement)
     
    domdev likes this.
  3. FantasticMatt

    FantasticMatt

    Joined:
    Jun 6, 2018
    Posts:
    1
    Bump. I would also like an option for this for builds run from batchmode
     
  4. henriqueranj

    henriqueranj

    Joined:
    Feb 18, 2016
    Posts:
    127
    I am also very interested in knowing this. Can anyone from Unity Cloud Build support give us a hint if there is a roadmap for this?
     
  5. Nieles_GH

    Nieles_GH

    Joined:
    Jun 26, 2017
    Posts:
    42
    Any news on this? Currently, I can create all builds on the cloud but for an Android release, I have to build locally which isn't an ideal situation.
     
    henriqueranj likes this.
  6. GuillaumeZAHRA

    GuillaumeZAHRA

    Joined:
    Jan 5, 2013
    Posts:
    51
    I don't have tested yet, and don't know if it's the intended behavior for Unity Cloud Build but you can find the bool at editor level here:

    Code (CSharp):
    1. using UnityEditor;
    2.  
    3. EditorUserBuildSettings.buildAppBundle = true;
    Also see the other recommendations here: https://docs.unity3d.com/ScriptReference/EditorUserBuildSettings-buildAppBundle.html

    You may try to execute a PreBuild custom method on your Unity Cloud Build project in order to reconfigure the UnityEditor configuration, and see what happen.

    I've done something similar in order to Add/Remove OpenVR/Oculus SDK depending if the build is intended for Oculus Store shipping or for Steam.
     
    Last edited: Feb 13, 2019
  7. Nieles_GH

    Nieles_GH

    Joined:
    Jun 26, 2017
    Posts:
    42
    I gave it a try and the build did succeed, however, Unity Cloud says there is no download available.
    So I guess it doesn't recognize the aab file as a downloadable output.
     
  8. GuillaumeZAHRA

    GuillaumeZAHRA

    Joined:
    Jan 5, 2013
    Posts:
    51
    It's possible, but there is an option to override Unity Cloud Build output files no ?
    Didn't have tested yet !

    EDIT: Must have dreamed ! You are right, you cannot explore or redirect anything from the standard interface.

    I think Unity don't support this option yet...
    It seem that Unity is looking for an APK file for Unity Cloud Build shipping.

    You may try to fool the system with a PostBuild script, and renaming the application Bundle as an APK, but i don't even know if it would works.

    I think the Unity Cloud Build Team must uprade theirs infrastructure for this scenario...
     
    Last edited: Feb 13, 2019
  9. Nieles_GH

    Nieles_GH

    Joined:
    Jun 26, 2017
    Posts:
    42
    Thanks, it was a good suggestion. But fooling the system seems to go a little too hacky :D
    I'll wait for Unity to properly implement it.
     
  10. Alkanov

    Alkanov

    Joined:
    May 15, 2017
    Posts:
    46
  11. mr_tom

    mr_tom

    Joined:
    Aug 19, 2014
    Posts:
    6
  12. travispettry

    travispettry

    Joined:
    Jul 21, 2017
    Posts:
    11
    I agree this would be an awesome feature to have.
     
  13. matiasticbits

    matiasticbits

    Joined:
    Jan 3, 2017
    Posts:
    12
    Hi all!

    We ran into the same issue and decided to go with the way of using pre- and post-export methods to cheat Unity Cloud to build and export an App Bundle file.

    This editor script will configure Unity Cloud to build the App Bundle and finally to rename the .aab file to .apk so it can be downloaded. The downloaded file will be an App Bundle even though it is named as .apk and you can later rename it to .aab.

    To use this editor script you need to configure the pre and post build methods under your Unity Cloud build config. Under Advanced Options you can configure Pre-Export Method Name and Post-Export Method Name. Remember to include the namespace name, for example: YourNamespace.AppBundleUnityCloudUtil.OnPreExport.

    App Bundle files can be converted to .apks files that can be installed to a device for local test. Converting and installing can be done using Google's bundletool. Help on how to download and use this tool can be found in the references below.

    Editor script:
    Code (CSharp):
    1.  
    2. #if UNITY_CLOUD_BUILD
    3. using System.IO;
    4. using UnityEngine;
    5.  
    6. namespace YourNamespace
    7. {
    8.     public static class AppBundleUnityCloudUtil
    9.     {
    10.         public static void OnPreExport()
    11.         {
    12.             UnityEditor.EditorUserBuildSettings.buildAppBundle = true;
    13.             Debug.Log("AppBundleUnityCloudUtil: Enabled building of an Android App Bundle");
    14.         }
    15.  
    16.         public static void OnPostExport(string exportPath)
    17.         {
    18.             if (!UnityEditor.EditorUserBuildSettings.buildAppBundle)
    19.             {
    20.                 Debug.LogErrorFormat("AppBundleUnityCloudUtil: UnityEditor.EditorUserBuildSettings.buildAppBundle is not enabled");
    21.             }
    22.  
    23.             var bundlePath = exportPath.Replace(".apk", ".aab");
    24.             if (File.Exists(bundlePath))
    25.             {
    26.                 Debug.LogFormat("AppBundleUnityCloudUtil: Moving {0} to {1}", bundlePath, exportPath);
    27.                 File.Move(bundlePath, exportPath);
    28.             }
    29.             else
    30.             {
    31.                 Debug.LogErrorFormat("AppBundleUnityCloudUtil: AppBundle file not found in path {0}", bundlePath);
    32.             }
    33.         }
    34.     }
    35. }
    36. #endif
    37.  
    References:
     
    migs_pixi, broersma, victorw and 2 others like this.
  14. Nieles_GH

    Nieles_GH

    Joined:
    Jun 26, 2017
    Posts:
    42
    Awesome, this is indeed working! And it actually looks simpler then I had imagined.
    Thanks!
     
  15. Alkanov

    Alkanov

    Joined:
    May 15, 2017
    Posts:
    46
    Great hack but we still need to push for full support
     
    migs_pixi, broersma and Mouldi like this.
  16. Rafael-Barbosa

    Rafael-Barbosa

    Joined:
    Apr 14, 2013
    Posts:
    277
    Would like to express my interest here too. We had several issues using OBB file, when we tried the aab, it worked flawlessly, which means that this is our only way of exporting our vuforia project without issues.

    We desperatly need this feature.

    Would also be great to have a date to expect this implemented, it would really speed things up.
     
    MaxGuernseyIII likes this.
  17. ImbaGame

    ImbaGame

    Joined:
    Jan 29, 2015
    Posts:
    11
  18. thibouf

    thibouf

    Joined:
    Mar 17, 2017
    Posts:
    67
    Hey, can we have an official answer about that ? App bundles can be generate since 2018.3, it does not seems such a huge feature to just recognize abb instead of apk ...
     
    broersma likes this.
  19. fidelsoto

    fidelsoto

    Joined:
    Aug 7, 2012
    Posts:
    81
    I don't mind using the hack for now but this should be part of cloud build imo.
     
  20. migs_pixi

    migs_pixi

    Joined:
    Aug 22, 2018
    Posts:
    3
    Unfortunately the "hack" is not working also (at least for me). I'm getting the error that written in the line 31 of the hack - file not found. AAB is built for sure - the logs and the missing download file on a successful build indicate it.

    Code (CSharp):
    1. AppBundle file not found in path /BUILD_PATH/here-was-companyname.and.app.bundle/temp.XXXXXX20190526-6564-1xkdmdg/Droid Dev.aab
    Can someone confirm that the hack is still working for them? May be it's connected to the Unity version I'm building with? I'm using 2018.3.14f1

    And yes, I would love Cloud Build devs to implement AAB on their side. The platform already building, all that remains is to take ".aab" extension into account.
     
  21. HaakonL

    HaakonL

    Joined:
    Mar 13, 2014
    Posts:
    104
    Not working for us either. We're building with 2018.4.0.


    ERROR: AppBundleUnityCloudUtil: AppBundle file not found in path /BUILD_PATH/here-was-companyname.and.app.bundle/temp.XXXXXX20190526-6275-xx5dq2/Android.aab

    I'll do some logging now to see if the path has changed, might be possible to fix.
     
  22. HaakonL

    HaakonL

    Joined:
    Mar 13, 2014
    Posts:
    104
    If you are having issues like the one I just posted, the fix is to update the gradle file. Unity has changed quite a few things in the gradle file, and you need to make sure your custom gradle file has all the new stuff included. Our gradle file was outdated. I updated it and now the aab was built like expected. This is our updated gradle file:

    Assets/Plugins/Android/mainTemplate.gradle

    Code (CSharp):
    1. buildscript {
    2.     repositories {
    3.         google()
    4.         jcenter()      
    5.     }
    6.  
    7.     dependencies {
    8.         classpath 'com.android.tools.build:gradle:3.2.0'
    9.         **BUILD_SCRIPT_DEPS**}
    10. }
    11.  
    12. allprojects {
    13.     repositories {
    14.         google()
    15.         jcenter()
    16.         flatDir {
    17.             dirs 'libs'
    18.         }
    19.     }
    20. }
    21.  
    22. apply plugin: 'com.android.application'
    23. **APPLY_PLUGINS**
    24.  
    25. dependencies {
    26.     implementation fileTree(dir: 'libs', include: ['*.jar'])
    27. **DEPS**}
    28.  
    29. android {
    30.     compileSdkVersion **APIVERSION**
    31.     buildToolsVersion '**BUILDTOOLS**'
    32.  
    33.     defaultConfig {
    34.         minSdkVersion **MINSDKVERSION**
    35.         targetSdkVersion **TARGETSDKVERSION**
    36.         applicationId '**APPLICATIONID**'
    37.         ndk {
    38.             abiFilters **ABIFILTERS**
    39.         }
    40.         versionCode **VERSIONCODE**
    41.         versionName '**VERSIONNAME**'
    42.     }
    43.  
    44.     lintOptions {
    45.         abortOnError false
    46.     }
    47.  
    48.     aaptOptions {
    49.         noCompress '.unity3d', '.ress', '.resource', '.obb'**STREAMING_ASSETS**
    50.     }**SIGN**
    51.  
    52.     buildTypes {
    53.         debug {
    54.             minifyEnabled **MINIFY_DEBUG**
    55.             useProguard **PROGUARD_DEBUG**
    56.             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD**
    57.             jniDebuggable true
    58.         }
    59.         release {
    60.             minifyEnabled **MINIFY_RELEASE**
    61.             useProguard **PROGUARD_RELEASE**
    62.             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD****SIGNCONFIG**
    63.         }
    64.     }**PACKAGING_OPTIONS****SPLITS**
    65. **BUILT_APK_LOCATION**
    66. **BUILT_APK_LOCATION**
    67.     bundle {
    68.         language {
    69.             enableSplit = false
    70.         }
    71.         density {
    72.             enableSplit = false
    73.         }
    74.         abi {
    75.             enableSplit = true
    76.         }
    77.     }
    78. }**SPLITS_VERSION_CODE****REPOSITORIES****SOURCE_BUILD_SETUP**
     
    matiasticbits likes this.
  23. fidelsoto

    fidelsoto

    Joined:
    Aug 7, 2012
    Posts:
    81
    Given that the deadline for Google Playstore to reject apps without this feature is so close, this should be priority #1 for Cloud Build.
     
  24. victorw

    victorw

    Unity Technologies

    Joined:
    Sep 14, 2016
    Posts:
    94
    Could you post where Google details this new requirement and the deadline for conversion? I could not find anything. But yes, implementing this as an officially supported feature is already one of our higher priorities and probably would have been done by now if not for iOS builds unexpectedly exploding in 2019.1.3f1
     
  25. henriqueranj

    henriqueranj

    Joined:
    Feb 18, 2016
    Posts:
    127
    Hi @victorw here follows the official timeline from Google: https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for-64-bit.html

    The deadlines are for 64-bit support, not specifically AAB. However, due to APK sizes increasing immensely due to extra 64-bit architecture, the AAB packages would be the ideal solution for submitting to the Google PlayStore. Otherwise:
    • Always build locally for Store release.
    • Create and manage different Android build targets for each platform in Unity Cloud Build.
    • Hack the UCB Android target to build AAB and then sneakily repackage to APK (as posted above)
    You can see why we really need AAB for Unity Cloud Build :)
     
  26. Alkanov

    Alkanov

    Joined:
    May 15, 2017
    Posts:
    46
    Deadline is almost here and we still don't have AAB for Unity Cloud Build - this is serious guys.
     
  27. victorw

    victorw

    Unity Technologies

    Joined:
    Sep 14, 2016
    Posts:
    94
    This is now supported on the backend. UI is also close to being ready to release but if you want to try it out now you can do so by setting the
    settings.advanced.android.buildAppBundle
    flag on a build target (see the API documentation.). You should also set
    settings.advanced.unity.EditorUserBuildSettings.androidBuildSystem
    to
    gradle
    when using this option, though I think this will get set automatically since the Editor does not support app bundle builds outside of Gradle.
     
    MaxGuernseyIII and musickgm like this.
  28. matiasticbits

    matiasticbits

    Joined:
    Jan 3, 2017
    Posts:
    12
    Thank you for implementing this. Is this the reason why our workaround just stopped working today?
     
  29. cdytoby

    cdytoby

    Joined:
    Nov 19, 2014
    Posts:
    128
    We also noticed that, it seems changing
    EditorUserBuildSettings.buildAppBundle no longer works, it has to be shipped with API?
     
  30. matiasticbits

    matiasticbits

    Joined:
    Jan 3, 2017
    Posts:
    12
    I used the API to enable
    settings.advanced.android.buildAppBundle
    for the Unity Cloud build configuration and now building App Bundle works.
     
  31. alan_motionlab

    alan_motionlab

    Joined:
    Nov 27, 2014
    Posts:
    89
    @matiasticbits - Could you show a screenshot of how you've done with (with your private stuff obscured obviously)

    The API tool is a little difficult to use I find
     
  32. matiasticbits

    matiasticbits

    Joined:
    Jan 3, 2017
    Posts:
    12
    Sure. First find out all the required information for your API key and current build configuration, these can be found from the URI when you are editing the build config in Unity Cloud.
    * Organization ID
    * Project ID
    * Build target ID
    * Your API key - https://build.cloud.unity3d.com/login/me

    First I used HTTP GET method to fetch the configuration I currently have for the project. This will return the JSON data for the build configuration and print it in the terminal you are using.

    curl -X GET -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}


    Copy to an editor and edit the returned JSON by finding '"advanced":{' and replacing it with '"advanced":{"android":{"buildAppBundle":true},'. Then we need to use HTTP PUT method to update this configuration to the Unity Cloud server.

    curl -X PUT -H "Content-Type: application/json" -d '[WHOLE CONFIG JSON IN ONE LINE]' -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}
     
    Last edited: Jun 14, 2019
    victorw likes this.
  33. alan_motionlab

    alan_motionlab

    Joined:
    Nov 27, 2014
    Posts:
    89
    Thanks for the details there. Just to confirm - the advanced section should look like this (not replacing it with the android part):

    Code (csharp):
    1.  
    2. "advanced": {
    3.             "unity": {
    4.                 "preExportMethod": "CloudBuildHelper.PreExport",
    5.                 "postExportMethod": "",
    6.                 "preBuildScript": "",
    7.                 "postBuildScript": "",
    8.                 "scriptingDefineSymbols": "UNITY_GOOGLE; UNITY_PURCHASING",
    9.                 "playerExporter": {
    10.                     "sceneList": [],
    11.                     "buildOptions": []
    12.                 },
    13.                 "editorUserBuildSettings": {
    14.                     "androidBuildSystem": "gradle"
    15.                 },
    16.                 "runUnitTests": true,
    17.                 "failedUnitTestFailsBuild": true,
    18.                 "unitTestMethod": "UnityTest.Batch.RunUnitTests"
    19.             },
    20.             "android":{
    21.                 "buildAppBundle":true
    22.             }
    23.         }
    24.  
     
  34. matiasticbits

    matiasticbits

    Joined:
    Jan 3, 2017
    Posts:
    12
    Yes, don't replace the whole "advanced" section, "android" should be added under it.
     
  35. alan_motionlab

    alan_motionlab

    Joined:
    Nov 27, 2014
    Posts:
    89
    Awesome - thanks - giving it a try now :D
     
  36. victorw

    victorw

    Unity Technologies

    Joined:
    Sep 14, 2016
    Posts:
    94
    Yeah sorry I did break the existing method, I'll restore that in a hotfix soon but as you've noted you can also just use the new method to get it working.
     
  37. alan_motionlab

    alan_motionlab

    Joined:
    Nov 27, 2014
    Posts:
    89
    Does it take longer to build the app bundle than a normal apk? Its been building for 2 hours now? Normally builds in about 40 mins
     
  38. alan_motionlab

    alan_motionlab

    Joined:
    Nov 27, 2014
    Posts:
    89
    ah - never mind.... I'm testing it on a brand new config and so there is no cached library or anything, so its rebuilding all the assets.
     
    victorw likes this.
  39. victorw

    victorw

    Unity Technologies

    Joined:
    Sep 14, 2016
    Posts:
    94
    I deployed the hotfix just now, the old method of generating ABBs should be working again.
     
  40. alan_motionlab

    alan_motionlab

    Joined:
    Nov 27, 2014
    Posts:
    89
    Know this isn't specifically relevant to cloud build - but I've got my AAB file now, but when I upload it to Google Play to release, it tells me:

    Code (csharp):
    1. You can't rollout this release because it doesn't allow any existing users to upgrade to the newly added APKs.
    Previously I had used the split architectures to get the 3 different APK's to reduce the size which has been working fine, but wanted to use AAB.

    Anyone had this problem and know how to fix it?
     
  41. KB73

    KB73

    Joined:
    Feb 7, 2013
    Posts:
    163
    Quick question on AAB for non-cloud builds, is there anyway to support the new custom delivery feature?
    We have an OBB and we need to have it brought down with the initial install. As OBB is not supported with an AAB, Afaik, custom delivery is the way only way to do this. We'd love to use the new AAB stuff but not sure there is full support for this in 2018.4? Any ideas? Our only choice right now is to revert back to the old split apk/obb and manage all that which we'd rather not

    thanks
     
  42. Alkanov

    Alkanov

    Joined:
    May 15, 2017
    Posts:
    46
    I had this issue, your version code will have to be higher than your highest version ever, here is an example of what I had before:

    ARMv6 - version: 300101
    ARMv7 - version: 200101
    x86 - version: 100101

    Your AAB will have to be 300102 or higher since this one will cover all architectures

    This issue is offtopic but the above is the solution
     
  43. alan_motionlab

    alan_motionlab

    Joined:
    Nov 27, 2014
    Posts:
    89
    Hey @Alkanov

    Thanks for the tip - that worked great!
     
  44. HereIAmItsMe

    HereIAmItsMe

    Joined:
    Jul 16, 2012
    Posts:
    8
    Am seeing the following error error after enabling AAB builds via the cloud build API as outlined in @matiasticbits's post. Is the OnPostExport callback required to rename the output file from apk -> aab?


    Thanks.

    Code (CSharp):
    1. 16286: [Unity] EXCEPTION: FileNotFoundException: Temp/gradleOut/build/outputs/bundle/release/gradleOut.aab does not exist
    2. 16287: [Unity] UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
    3. 16288: [Unity] UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
    4. 16289: [Unity] UnityEngine.Logger:Log(LogType, Object)
    5. 16290: [Unity] UnityEngine.Debug:Log(Object)
    6. 16291: [Unity] UnityEditor.CloudBuild.BuildLogger:Log(String)
    7. 16292: [Unity] UnityEditor.CloudBuild.BuildLogger:HighlightUnityErrors(String, String, LogType)
    8. 16293: [Unity] UnityEditor.BuildPipeline:BuildPlayerInternalNoCheck(String[], String, String, BuildTargetGroup, BuildTarget, BuildOptions, Boolean)
    9. 16294: [Unity] UnityEditor.CloudBuild.Builder:Build()
    10. 16295: [Unity] FileNotFoundException: Temp/gradleOut/build/outputs/bundle/release/gradleOut.aab does not exist
    11. 16296: [Unity]   at UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) [0x00000] in <filename unknown>:0
    12. 16297: [Unity]   at UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) [0x00000] in <filename unknown>:0
    13. 16298: [Unity]   at UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) [0x00000] in <filename unknown>:0
    14. 16299: [Unity]   at UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (BuildPostProcessArgs args) [0x00000] in <filename unknown>:0
    15. 16300: [Unity] UnityEditor.BuildPipeline:BuildPlayerInternalNoCheck(String[], String, String, BuildTargetGroup, BuildTarget, BuildOptions, Boolean)
    16. 16301: [Unity] UnityEditor.CloudBuild.Builder:Build()

    **** UPDATE ****
    Got it working. For me the issue ended up beingthe wrong gradle version in the mainGradle.template file -- needed 'com.android.tools.build:gradle:3.2.0' for Unity 2017.4.28f1. Did not need a PostExport step to rename with correct extension.
     
    Last edited: Jun 18, 2019
  45. victorw

    victorw

    Unity Technologies

    Joined:
    Sep 14, 2016
    Posts:
    94
    The frontend for this feature is now available, you can set AAB builds from your Build Target -> Advanced settings.

    Also I'll give it about a month to make sure everyone has switched over but I'm going to have to reintroduce the code which forces your AAB settings to match what the UCB build target expects.
     
    MaxGuernseyIII and Nieles_GH like this.
  46. jamesk5

    jamesk5

    Joined:
    Nov 26, 2012
    Posts:
    9
    I just tried building to ABB using Cloud Build and it worked. However, when I create a new alpha release in Play Console and upload the ABB file I get errors on the review page. I realize this may be due to my lack of experience with ABB, but any advice would be appreciated. @victorw or anyone?

    This error shows 3 times, once per APK that the console generated using my ABB file. This is preventing rollout, so I'm stuck. My older APKs (prior to trying ABB) are set to deactivate (which is the default behaviour when creating a new release).

    Non-upgradable APK

    Warning:
    None of the users of this APK will be able to upgrade to any of the new APKs added in this release.

    Tip:
    Ensure that all your new APKs are added to this release.
     
    Last edited: Jun 20, 2019 at 11:10 PM
  47. victorw

    victorw

    Unity Technologies

    Joined:
    Sep 14, 2016
    Posts:
    94
    @jamesk5 this was covered by @Alkanov earlier in the thread:

     
  48. jamesk5

    jamesk5

    Joined:
    Nov 26, 2012
    Posts:
    9
  49. MaxGuernseyIII

    MaxGuernseyIII

    Joined:
    Aug 23, 2015
    Posts:
    200
    I feel like we need a way to start a round of applause for getting this in place.
     
    thibouf likes this.
  50. thibouf

    thibouf

    Joined:
    Mar 17, 2017
    Posts:
    67
    Just tested, works well , thanks !!

    If I may, a "small" additional feature would be great : the possibility to also generate apks using the bundletool . See :
    https://developer.android.com/studio/command-line/bundletool

    This way anyone from the team could test the build by downloading the correct apk without the need to upload the bundle into the play store console ...