Retrofit Crash Fix Android 12+
Budget / SalaryC$250–750
TypeFreelance project
LocationRemote
Posted1 hour ago
I need a seasoned Android developer who can dive straight into a Kotlin MVVM code-base that relies on Retrofit and Coroutines and stop a stubborn crash that only appears on Android 12 and newer. As soon as the user opens the Profile screen, a NullPointerException fires while Gson (or Moshi, depending on the flavour you choose) tries to deserialize the JSON payload. Older APIs behave fine, so the root cause is most likely missing null-safety on a few fields combined with an unhandled coroutine exception that bubbles up in Android 12+.
Here is what I expect:
• Inspect the Profile-related module I’ll share (or the reproducible repo) and pinpoint every unsafe field or mapper involved in the API response.
• Refactor the data classes so they cope gracefully with absent or future-extra fields, leveraging Kotlin’s nullability features and @SerializedName (or Json annotations) where needed.
• Introduce solid coroutine error handling inside the ProfileViewModel—SupervisorJob, try/catch, or whichever approach keeps the UI responsive without masking real problems.
• Build and test against API 33 emulators (and at least one physical device if available) until navigation to the Profile screen is 100 % crash-free.
• Supply a concise changelog and a short note on how the fix anticipates possible server-side schema tweaks.
Acceptance criteria: the archived build installs on API 31–33, opens the Profile screen repeatedly without throwing, and logcat stays clean of unhandled exceptions related to this flow.
I will be on standby to answer questions quickly and can pull your branch for immediate QA, so we can wrap this fix up fast.
Here is what I expect:
• Inspect the Profile-related module I’ll share (or the reproducible repo) and pinpoint every unsafe field or mapper involved in the API response.
• Refactor the data classes so they cope gracefully with absent or future-extra fields, leveraging Kotlin’s nullability features and @SerializedName (or Json annotations) where needed.
• Introduce solid coroutine error handling inside the ProfileViewModel—SupervisorJob, try/catch, or whichever approach keeps the UI responsive without masking real problems.
• Build and test against API 33 emulators (and at least one physical device if available) until navigation to the Profile screen is 100 % crash-free.
• Supply a concise changelog and a short note on how the fix anticipates possible server-side schema tweaks.
Acceptance criteria: the archived build installs on API 31–33, opens the Profile screen repeatedly without throwing, and logcat stays clean of unhandled exceptions related to this flow.
I will be on standby to answer questions quickly and can pull your branch for immediate QA, so we can wrap this fix up fast.
Apply on Freelancer →
Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.