~/talk

Surviving and fixing bugs in 3rd-party libraries

Talkat droidcon London 2025 · 2025-10-30..10-31· [developer-experience]
name:Yury Vlad
links:none on file
links:none on file
slides:none on file

Step‑by‑step options for third‑party crashes: reproduce with real data, use composite builds to edit and debug a library locally, then either publish a frozen snapshot to private Maven (avoid snapshots in prod) or maintain a fork/submodule; preserve POMs to avoid binary incompatibility like NoSuchMethodError; add logging into the library and wire it to Crashlytics or Sentry (Crashlytics log entries 64 KB, 64 key/value metadata limits; Sentry breadcrumb 8,000 chars); for small fixes patch bytecode with recaf or use reflection as a last resort.

AI-written summary · about

  1. 0:00Third-party dependency issues
  2. 1:06Third-party bugs are your responsibility
  3. 2:10Check GitHub for fixes
  4. 4:24Snapshot versions safely
  5. 5:49Debug with composite builds
  6. 8:19Debug production with logging
  7. 10:31Fork libraries for fixes
  8. 12:00Host fork in Maven
  9. 13:50Prevent version conflicts
  10. 16:47Preserve POM files
  11. 18:32Choose Maven repository
  12. 21:29Git submodules for changes
  13. 23:16Git subtree alternative
  14. 24:22Contribute fixes upstream
  15. 26:51Maintain fork long-term
  16. 27:12Closed-source library issues
  17. 28:16Android component issues
  18. 30:45Library issues with reflection
  19. 33:36Edit bytecode for fixes
  20. 37:12Fix ProGuard conflicts
  21. 38:38Conclusion
~/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.