~/talk

The definitive guide to Android library development

Talkat Android Makers 2022 · 2022-04-25..04-26· [android, developer-experience]
slides:none on file

Explains why Android libraries are harder than they should be and gives concrete fixes: publish AAR + BOM to Maven, use the fat AAR plugin or publish submodules separately, run the Gradle dependencies task to find version clashes, handle okhttp version skew and protobuf java vs java‑lite collisions by excluding or repackaging, ship consumer ProGuard rules and a public.xml, enforce API stability with the binary compatibility plugin and API dumps, prefer small public surfaces and test the published artifact end‑to‑end.

AI-written summary · about

  1. 0:00Start
  2. 2:36ANDROID LIBRARIES
  3. 3:34ANDROID STUDIO PROJECT
  4. 4:23RUN & TEST
  5. 7:07DISTRIBUTE - STEPS
  6. 8:17EXTERNAL DEPENDENCIES
  7. 11:19LIBRARY MODULARIZATION
  8. 12:03TEST SETUP
  9. 12:24LIBRARY SUBMODULE TEST
  10. 13:38RELEASE SUBMODULES TO MAVEN
  11. 14:48FAT AAR
  12. 16:32KOTLIN VISIBILITY MODIFIERS
  13. 17:56INTERNAL PACKAGE
  14. 18:14OBFUSCATE NON-PUBLIC CLASSES
  15. 19:14SINGLE MODULE SDK
  16. 19:27MODULARIZATION RECOMMENDATION
  17. 20:34TRANSITIVE DEPENDENCY CONFLICTS
  18. 21:09CONFLICTING DEPENDENCY VERSIONS
  19. 22:55CONFLICT RESOLUTION
  20. 23:15FORCE DEPENDENCY IN CUSTOMERAPP
  21. 24:57CASE STUDY: BREAKING API CHANGES
  22. 25:44INCOMPATIBLE TRANSITIVE DEPENDENCIES
  23. 26:58INCOMPATIBILITY RESOLUTION
  24. 28:36TRANSITIVE DEPENDENCY RECOMMENDATION
  25. 30:23INVESTIGATE DEPENDENCY CONFLICTS
  26. 32:052. LIBRARY RESOURCES - UNIQUE NAME
  27. 35:093. COMPATIBILITY: GRADLE PLUGIN
  28. 35:47MINIMIZING API SURFACE
  29. 37:29EXPERIMENTAL APIS
  30. 38:34DEPRECATION-REPLACE
  31. 39:05DEPRECATION - HIDE
  32. 39:30PROGUARD
~/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.