~/lightning

Structuring modules in an Android app project

Lightningat AndroidMakers by droidcon 2024 · on Friday, 2024-04-26· at 13:45· [developer-experience]
slides:none on file

Empirical rules and tools decide: a real codebase has 150+ modules and publishes stable modules to Nexus so developers avoid rebuilding everything, yielding much faster iteration across 100+ white‑label apps per sprint. Interface modules plus a service‑loader fragment factory let multiple implementations coexist without bundling unused analytics. Enforced ownership via CODEOWNERS and automated checks — module graph & dependency analysis — reveal deep dependency chains, unused and transitive deps, and improve build speed.

AI-written summary · about

  1. 0:00Introduction
  2. 1:07Purpose of modularization
  3. 3:30Managing many modules
  4. 4:54Types of modularization
  5. 6:19Improving abstraction with interfaces
  6. 8:44Dynamic features with service loader
  7. 11:12Nested packages in modules
  8. 13:18Enforcing module ownership
  9. 14:42Build speed with Nexus dependencies
  10. 17:55Tools for module dependencies
  11. 20:22Adapting to team needs
  12. 21:03Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.