[Feature Request]: Add support for mobile-install #5660
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.
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:
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. withadb install
).bazel mobile-install
work with the above (or at all). It's not clear whether specificallyandroid_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
The text was updated successfully, but these errors were encountered: