Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add 'Export App Bundle' to Android Export Options #40685

Merged

Conversation

amanj120
Copy link
Contributor

@amanj120 amanj120 commented Jul 25, 2020

The final step in moving towards a gradle-based build system that can export Android App Bundles is to add the user interface element. For the 3.x release, and following the contribution guidelines, I think the simplest way to do this is to add a drop down menu to be able to Export as AAB. This option will not work unless Use Custom Build is also selected. For more details on the final scope of this project, read this comment.

The default value for this drop down menu is Export APK. If Use Custom Build is not selected, then Export APK follows the legacy build system. If Use Custom Build is selected and Export APK is selected, then it follows the normal Use Custom Build system.

The PR for the 4.0 branch might look different depending on how much of the legacy build system we want to retain.

We are working on this PR with @m4gr3d, as explained here

This PR builds on top of many previous PRs I've submitted. There are a lot of changes that need to be made to move towards a Gradle-based build system, so I have broken these changes into smaller, more understandable steps.

Screen Shot 2020-07-24 at 9 21 59 PM

@m4gr3d m4gr3d self-requested a review July 25, 2020 00:17
@aaronfranke aaronfranke added this to the 3.2 milestone Jul 25, 2020
@m4gr3d m4gr3d requested review from akien-mga and a team July 25, 2020 00:17
@m4gr3d
Copy link
Contributor

m4gr3d commented Jul 25, 2020

@akien-mga For the UI, another option is to replace Use Custom Build and Export App Bundle (added by this PR) options with a drop-down that would list the various options for exporting the app.
For example, the options could be:

  • Export apk using legacy build
  • Export apk using gradle build
  • Export aab

The issue with this approach of course if that it would be slightly breaking compatibility as opposed to the current which, while not the best UX, does the job and doesn't break compatibility.
If we want to avoid breaking compatibility for the 3.2.x branch, we can also use the drop-down idea for the PR against master.

platform/android/export/export.cpp Outdated Show resolved Hide resolved
platform/android/export/export.cpp Outdated Show resolved Hide resolved
platform/android/export/export.cpp Outdated Show resolved Hide resolved
platform/android/export/export.cpp Outdated Show resolved Hide resolved
platform/android/export/export.cpp Outdated Show resolved Hide resolved
@amanj120 amanj120 force-pushed the bundle_pr_export branch 3 times, most recently from de2bb94 to 0136f06 Compare July 27, 2020 20:58
@amanj120 amanj120 force-pushed the bundle_pr_export branch 3 times, most recently from 383317e to cfe1efe Compare July 27, 2020 21:30
platform/android/export/export.cpp Show resolved Hide resolved
platform/android/export/export.cpp Outdated Show resolved Hide resolved
platform/android/export/export.cpp Outdated Show resolved Hide resolved
@amanj120 amanj120 force-pushed the bundle_pr_export branch 2 times, most recently from 5908955 to 7cc064d Compare July 28, 2020 15:11
platform/android/export/export.cpp Outdated Show resolved Hide resolved
platform/android/export/export.cpp Show resolved Hide resolved
platform/android/java/app/config.gradle Outdated Show resolved Hide resolved
platform/android/export/export.cpp Outdated Show resolved Hide resolved
platform/android/export/export.cpp Outdated Show resolved Hide resolved
platform/android/export/export.cpp Show resolved Hide resolved
platform/android/export/export.cpp Outdated Show resolved Hide resolved
platform/android/export/export.cpp Outdated Show resolved Hide resolved
platform/android/export/export.cpp Outdated Show resolved Hide resolved
platform/android/export/export.cpp Outdated Show resolved Hide resolved
platform/android/export/export.cpp Outdated Show resolved Hide resolved
Copy link
Contributor

@m4gr3d m4gr3d left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

@m4gr3d
Copy link
Contributor

m4gr3d commented Jul 31, 2020

@amanj120 Don't forget to squash the commits.

@lentsius-bark
Copy link
Contributor

I am so looking forward to this btw.

@akien-mga akien-mga merged commit 213149f into godotengine:3.2-android-app-bundle Aug 11, 2020
@akien-mga
Copy link
Member

Thanks!

@fuzzypurplepixel
Copy link

Does this support Play Asset Delivery and/or Play Feature Delivery. I'm interested in separating parts of my game which are In app purchase access only.

@m4gr3d
Copy link
Contributor

m4gr3d commented Nov 24, 2020

@fuzzypurplepixel This PR doesn't and it won't be available in Godot 3.2.4, but we're working on making it available in a future release.

@akien-mga akien-mga modified the milestones: 3.2, 3.3 Apr 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants