Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-26434

Android: Support building "app bundles"

    Details

    • Story Points:
      3
    • Sprint:
      2019 Sprint 26, 2020 Sprint 2

      Description

      Summary:
      Google Play allows you to upload your app as an "app bundle" (aka: an *.aab file) instead of an APK. How this works is that Google will generate multiple APKs from the app bundle, split by architecture and image density, and digitally sign each APK with a keystore you've uploaded for you. This is a similar feature to what Apple provides on iOS and allows for smaller apps to be downloaded to the Android device.
      https://developer.android.com/guide/app-bundle

      Note:
      You cannot install/run an app bundle on an Android devices. That is, Android devices still only support APKs. An app bundle is only a Google Play publishing feature.

      This is why a Titanium "test" or "development" build should not build an app bundle, because it's useless for local testing purposes. It only makes sense for "production" builds for publishing.

      Recommended Solution:
      When doing a "production" build, Titanium should generate both an APK and app-bundle to the destination directory. No configuration required.

      Note that building a "production" APK is still useful. Some features such as push notifications, in-app billing, Google LVL licensing, etc. can't be tested with a "debug.keystore" signed APK. Also, app bundles do not support Google expansion files. Nor are app bundles supported on other Android app stores such as Amazon (ie: only supported on Google Play).

      We can implement app bundle support once we've adopted gradle build support.
      https://developer.android.com/studio/build/building-cmdline

      The gradlew command line would be something like this...

      ./gradlew :app:bundleRelease
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jquick Joshua Quick
                Reporter:
                hknoechel Hans Knöchel
                Reviewer:
                Gary Mathews
                Tester:
                Satyam Sekhri
              • Watchers:
                37 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Backbone Issue Sync

                  • Backbone Issue Sync is enabled for your project, but we do not have any synchronization info for this issue.

                    Git Integration