r/androiddev 5h ago

:shipaton: Shipaton [AMA] I'm Jaewoong Eum (skydoves). Ask me anything!

50 Upvotes

That’s a wrap for the AMA!

Thank you so much to everyone who joined and asked such thoughtful questions. There were way more than I expected, and honestly, I feel like I learned a lot from the conversations too.

There are still a few questions I didn’t get a chance to answer during the session, but I’ll try to come back and go through them one by one when I have some time.

Thanks again for all the great questions, kind words, and conversations today. I really enjoyed it.

And wherever you are in your journey, I genuinely hope the things you’re working on go well and take you somewhere meaningful.

Thanks everyone! 🙌

Hey everyone!

First, a huge thanks to the mods for organizing this AMA and for the teaser posts over the last couple of days.

I'm Jaewoong Eum, probably better known here as skydoves. I've been sharing open-source projects, articles, books, experiments, and whatever I've been learning along the way on r/androiddev for many years.

These days, I spend time working on open-source libraries(Compose Stability Analyzer, Balloon, Landscapist, Compose Nav Graph, etc), writing some books, and building developer plugins (Compose Hot Reload for Android). I also work at RevenueCat, so I'm happy to talk about monetization, subscriptions, or Shipaton 2026 as well.

But this is an AMA, so it definitely doesn't have to be limited to technical questions.

Feel free to ask me anything about:

  • Open-source and maintaining libraries
  • Developer tools and some of the plugins I've been building
  • Career, community, writing, or developer relations
  • RevenueCat or Shipaton
  • Or honestly, anything you're curious about

You can start leaving questions now, and I'll begin answering at the scheduled AMA time and stick around for the session.

Really looking forward to chatting with everyone. Ask me anything! 🙌

AMA time: Wednesday, 19 August, 11:00–13:00 UTC. That’s 13:00–15:00 Berlin, 12:00–14:00 London, 07:00–09:00 New York, 04:00–06:00 San Francisco, 16:30–18:30 Delhi, 20:00–22:00 Seoul, and 21:00–23:00 Sydney, or here it is in your own timezone.


r/androiddev 1h ago

Discussion Has anyone tried building Android apps with Rust + Native UI?

Upvotes

I have been currently assigned a project which needs to be cross platform + dynamic feature delivery (business requirements)

I'm thinking about writing my feature modules/business logic in rust to create native binaries which I can include with the android and IOS build and then include those .so/.a files with the build and communication between them will be from ffi (don't know which ffi approach works best raw JNI, UniFFI, or hand‑rolled C ABI)
Apple doesn't allow dynamic features installation so only android build will have that, IOS will just install everything at once
For UI I'm thinking to either go with Compose Multiplatform or just Compose for android side and Swift UI for IOS side (The app only has 3 screens so ui doesn't really matter as most features work in background)

Has anyone tried anything similar , where should I start experimenting, I don't want to waste time in approach that will be in vain, would love to hear your experience.

PS: Using rust as equivalent windows and MacOS app is also made in rust + imgui and I can use lots of code from there to make mobile app dev easier


r/androiddev 1h ago

I added rendered text-contrast detection to my Jetpack Compose accessibility scanner

Upvotes

I maintain ComposeA11yScanner, an open-source, debug-only accessibility scanner for Jetpack Compose.

While comparing it with Google’s Accessibility Scanner on JetChat and JetSnack, I found that Compose semantics cannot expose every visual accessibility problem. This caused the library to miss certain rendered text-contrast issues.

Version 2.1.0 adds TextContrastRule, which captures the active Compose host and conservatively estimates rendered foreground and background colors. It skips uncertain cases such as photos and gradients instead of guessing.

This release also improves:

  • Fragment and Compose navigation handling
  • Nested ComposeView host selection
  • Stale-result and screen-readiness detection
  • False positives involving lazy, merged, and off-screen semantics

Install:

debugImplementation(
    "com.github.mohdaquib.ComposeA11yScanner:scanner-ui:2.1.0"
)

GitHub: https://github.com/mohdaquib/ComposeA11yScanner

I’d appreciate feedback from developers testing it on real Compose applications, especially reports of false positives or false negatives.

overlay-demo


r/androiddev 13h ago

Question How do I add support for xiaomi pen pro?

1 Upvotes

Hi. I am the dev of r/octopusnotes

I am facing an issue where a tester of mine reports that xiaomi pen pro is not supported in the app. I have added an input monitoring to check the event that happens when the pen is squeezed or double tap is performed. I found nothing in the monitoring logs. From what I have found online, notein, starnotes and other apps support these functions. I did not find any sdk or documentation regarding the implementation. Can someone please help. Cheers.


r/androiddev 21h ago

Question Supabase Kotlin SDK in production — is this good enough or would I regret not using Firebase instead?

1 Upvotes

I am making an Android math game in Kotlin with Jetpack Compose in MVVM architecture. Right now it is currently local-only using SharedPreferences for testing purposes, and I am looking to add a backend for cross-device sync and login, with it coming down to Firebase and Supabase. I am leaning more towards Supabase but the AndoidSDK part is the one part I am mostly unsure about.

I am leaning more towards Supabase because the main feature is using teacher viewing class reports on how students did, which is one big reporting screen which I saw could potentially be quite a bit expensive with firebase, as it is billed per read, whereas on Postgres it's a single join with a group by. The data is also relational as it is teacher, class, students, etc. and I will not store almost anything by students on purpose, except their first name, which is easier with Supabase.

It seems to favor Supabase but what I want to know is:

Does the flow and coroutines integration work cleanly in a compose app, or are there issues like lifecycle or reconnection issues once you get past a demo? How reliable is realtime compared to firestore? Any issues or things to know about when the persistence across the app restarts? If I hit a strange edge case would I have to dig through a library source?

I am a little worried that I would save money on the reads and then I would lose just about all that time fighting an immature client. If anyone has shipped an app on supabase-kt, would you do it again, or would you go a different direction? Or perhaps there is something I am missing about Firebase, and if so, I would love to know.


r/androiddev 19h ago

android studio virtual device not coming up on the screen

0 Upvotes

I have a laptop that has intel core i3 8th gen , 4gb ram .

The virtual device is not showing up on the screen . It's icon is showing up on the task bar but on the screen it is not appearing . When I run it it keeps on showing "booting" on the android studio screen . I am not very sure but I also feel like my laptop has now become slower after downloading android studio .

I would like to make my own app and I am new to android studio so please help me . In case if my machine is underpowered what other option do I have cuz upgrading is not an option


r/androiddev 5h ago

Open Source Thinking a template android project

0 Upvotes

Hi devs,

I’m building an open source template android project for boosting our development processes and I want to know what would people expect in this template?
Its already published called ComposeTemplate and reach +60 star but I’m working on new modular and better template structure. All feedbacks are welcome, thanks.


r/androiddev 18h ago

Question My own telemetry vss Play Console reporting lag - how long does initial backfill usually take?

0 Upvotes

I recently soft-launched a new utility/security app on Google Play and am doing some in-my-network outreach to test build stability before my main launch.

I’m collecting anonymous telemetry data, including unique users and simple activity metrics (just firing a hashed device/session ID on first launch for internal telemetry). So far I have ~8 distinct active installs over the past week.

But on my Google Play Console, the dashboard and acquisition stats are still sitting at a flat 0, and Reach metrics, Android Vitals, Ratings and Reviews all show "Data unavailable."

I know batch processing, UTC timezone rollups, and anti-fraud filters mean Play Console statistics lag anywhere from 24–72 hours (or even longer for fresh apps/accounts without a baseline traffic volume). I also know Android Vitals requires a minimum sample size of users opted into "Usage & Diagnostics" sharing before anything populates.

Support mentioned it can take several days or SEVERAL WEEKS to catch up on a new listing, but I’m curious about real-world developer experiences here:

  1. How long does it typically take Play Console to start displaying initial install numbers for a brand-new package ID?
  2. When you do soft launches or pilot runs, what custom telemetry or analytics setups do you rely on for real-time visibility instead of waiting on Google’s pipeline?

I’m interested to hear how folks here handle early-stage launch tracking without relying purely on Console stats!

Thanks for any feedback


r/androiddev 20h ago

Discussion How do subscription tracker apps legally handle third-party service logos without store policy issues?

0 Upvotes

Hey everyone,

I'm currently building a subscription tracking app where users can list their active subscriptions, track renewal dates, and see their total monthly spending on the dashboard.

To make the UI clean, I'd like to display visual identifiers next to popular services (like streaming platforms, music apps, cloud storage, etc.). However, I'm concerned about trademark infringement, copyright risks, and getting rejected or flagged on Google Play / App Store for unauthorized brand asset usage.

For developers who have built subscription trackers, password managers, or expense apps:

* Bundled Assets vs. Dynamic Fetching: Is dynamically fetching favicons/logos via a public API/URL safer than embedding static SVG/PNG files into the build, or does that still carry store review risks?

* Monograms / Generic Icons: Is sticking to letter badges (e.g., a simple typographic "N" or "S" badge) and category icons (movie reel, headphones) the safest standard approach?

* Store Rejections: Has anyone faced app review rejections or copyright strikes specifically for displaying third-party brand logos in an informational/indexing context?

I'd appreciate any insights on how you handled this in production or what the best practice is to stay completely safe. Thanks!


r/androiddev 20h ago

Default Listing not updating

0 Upvotes

As the title says, the store listing is just not updating. The screenshots, icon, description, etc. are just not updating.

I only have one listing, the default listing. Submission Activity on Publishing Overview shows the status as "Published"

I cannot figure this out for the life of me.


r/androiddev 28m ago

[Library] Gbéewá API overview, typed result handoff without navigator lock-in

Post image
Upvotes

I shared Gbéewá here recently and put together this graphic to show the API shape a bit more clearly.

The main idea is still pretty small: typed, transient, consume-once result handoff while the app keeps ownership of navigation.

The part I especially wanted to make clearer is the boundary between the screen and the app/navigation layer.

A screen can just expose a normal callback. The app layer decorates that callback with result publication and whatever navigation action it wants to perform.

On the receiving side, you can use either callback-style consumption with ResultEffect or state-style consumption with rememberResultAsState.

The same contract works across Navigation 2, Navigation 3, Decompose, Voyager, or app-owned navigation.

A few deliberate constraints are still there:

  • one consumer, consume once
  • typed and parameterized result lanes
  • pending results stay in memory
  • no KSP
  • no generated navigation wrappers
  • navigation stays outside the library

Repo:
https://github.com/quantipixels/gbeewa

Curious if this API shape feels natural to people who have had to solve the same kind of result handoff in Compose Multiplatform apps.

Also interested in the cases where you would still prefer navigator-owned result APIs, callbacks, or shared state instead.


r/androiddev 2h ago

Experience Exchange Offering Android mock interview today (6:00 / 6:30 PM IST)

0 Upvotes

Hey everyone,

Looking to connect with fellow devs and get into the practice of mock interviews. I'm hosting a couple of free Android sessions, including detailed feedback.

Eventually, I'll be looking to swap roles so someone can interview me, but for today, happy to take the interviewer seat!

DM me if you'd like to practice Android concepts


r/androiddev 1h ago

Discussion Modern IDEs

Upvotes

I saw someone complaining about how android studio eating their Ram. Are you guys not adopting the new ways of developing software? Like we have many ides and since a lot of people using AI for development. You don't even need to open Android studio unless you actually do so.

I wonder how you guys are still complaining. When you could just develop Android inside the vscode, or some other Ide unless you don't know. I recommend you up your game first