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

[Feature Request]: Add support for mobile-install #5660

Open
BenHenning opened this issue Jan 21, 2025 · 0 comments · May be fixed by #5664
Open

[Feature Request]: Add support for mobile-install #5660

BenHenning opened this issue Jan 21, 2025 · 0 comments · May be fixed by #5664
Assignees
Labels
enhancement End user-perceivable enhancements. Impact: Low Low perceived user impact (e.g. edge cases). Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet.

Comments

@BenHenning
Copy link
Member

Is your feature request related to a problem? Please describe.

This discussion came up from #5643 (comment) and a discussion during the CLaM team meeting. The codebase currently doesn't support mobile-install (or at least, not well per that comment thread and #2610). The codebase is currently configured with both APK and AAB binary declarations, but we plan to remove the APK ones entirely since it simplifies things: we'd only be building AABs (including for uploading to the Play Console).

Describe the solution you'd like

There are two problems that need to be solved:

  1. Figure out a way to declare APK targets that use the AABs (rather than being separately defined as they are today). This is probably not super tricky. We use bundletool for both assembling the AAB and generating a device-compatible version for installation. We don't actually need to do that latter, however--we could automatically declare "universal" APKs generated from the AAB which would be device agnostic (and thus could be declared via a custom Bazel rule). Doing so would provide a valid APK target that could be directly installed (i.e. with adb install).
  2. Figure out how to make bazel mobile-install work with the above (or at all). It's not clear whether specifically android_binary needs to be used, or if the target just needs specific Bazel aspects to be configured in order to work. My last chat with the Bazel Android team about mobile-install (a few years ago) was that its support is very limited and not currently well maintained, so this may require fixes to mobile-install itself in Bazel to ultimately be made to work.

Describe alternatives you've considered

The alternative is continuing the status quo of using a separate script for installing a device-compatible APK (e.g. using //:install_oppia_dev), or by using separate APK targets (which isn't ideal since we want to keep parity between development and uploading binaries).

Additional context

No response

@BenHenning BenHenning added enhancement End user-perceivable enhancements. triage needed Impact: Low Low perceived user impact (e.g. edge cases). labels Jan 21, 2025
@adhiamboperes adhiamboperes added Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet. and removed triage needed labels Jan 22, 2025
@BenHenning BenHenning self-assigned this Jan 24, 2025
@BenHenning BenHenning linked a pull request Jan 24, 2025 that will close this issue
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement End user-perceivable enhancements. Impact: Low Low perceived user impact (e.g. edge cases). Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet.
Development

Successfully merging a pull request may close this issue.

2 participants