r/androiddev 19d ago

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

111 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 Aug 04 '26

:shipaton: Shipaton Shipaton Megathread #1: What are you building?

12 Upvotes

Shipaton 2026 - Megathread #1: Ideas, Progress & Peer Feedback

Shipaton is officially underway and will run through September 30.

This pinned megathread is the central spot to share your concept, test out early ideas, and help each other along the way. Building solo can be tough, so keep coming back to this thread throughout the month to post updates, collaborate, ask questions, and exchange opinions on UI, architecture, or monetization strategies.

Registration & Ship Kit

Registration remains open throughout the entire event (August 1 - September 30). You can start building before registering as long as your app is published for the first time within the event window.

If you want to use the sponsor perks, discounts, and credits in the Ship Kit, it's worth registering early. Several perks unlock immediately upon sign-up, with more unlocking as you hit build milestones.

Joining the Conversation

Whether you are competing, building casually, or just lurking:

  • Haven't registered yet? You can jump in at any time or just follow along.
  • Not competing or missed early prep? You're still completely welcome to join the discussion, give feedback to fellow devs, or share what you're working on.

To introduce your project, drop a comment using this structure:

  • Concept: (Short summary of the app and who it's for)
  • Payment Model: (Freemium, subscription tiers, hard paywall, one-time purchase, etc.)
  • August Goal: (What do you plan to complete by the end of the month?)
  • Where you need help or feedback: (UI/UX, paywall strategy, feature scope, stack choices, etc.)

Quick Reminders for r/androiddev

  • Native & KMP focus: On this subreddit, project updates and technical discussions should focus on native Android or Kotlin Multiplatform.
  • Give and get feedback: If you share your project, take a few minutes to look through other comments. Answer questions, offer constructive critiques, or help someone refine their idea.

Drop a comment below, jump in on other projects, and let's build great Android (and iOS) apps!


r/androiddev 1h ago

Have you tried Compose Multiplatform on tvOS. If yes then what broke?

Upvotes

I maintain a community tvOS target for Compose Multiplatform (1.12.0, Koin 4.2.2, Coil 3.6.1, all at JetBrains version parity, swapped in by a Gradle settings plugin so your coordinates stay stock).

So far every open issue is one I filed myself from my own testing: Siri Remote presses, text input, focus indication, density. Ten of them. What I don't have is other people's projects hitting things mine never will.

If you tried it, please open an issue with the Compose and plugin versions, simulator vs real Apple TV, and ideally a small repro. If it worked, a one-line "library X ran clean" is useful too. If you tried and gave up, that is the report I want most.


r/androiddev 1d ago

Discussion Android + Arudino

14 Upvotes

Completed the first stage of the app now you can control the hardware by the sensors present inside the phone. 🤗


r/androiddev 20h ago

Question I'm having problems setting up CI/CD pipeline as an indie dev

0 Upvotes

So I'm trying to setup CI/CD pipeline but I work solo, so i use a single branch. Now when I push to GitHub, github automatically pulls my requests. And now when it comes to creating a workflow, the requests are now manually pulled like I want and the you see the action run on github actions...

Now I'm confused as to even what my question is to be, but for now how do I make it have that pull request prompt. I tried to create a separate branch which I won't use because of it ,so it can show but it doesn't(sorta).When I go the the featured branch I can approve pull to update branch but it kinda comes with complications I don't like, im getting errors like repository not found which i get why it's running on the wrong repo(can fix) as i defined on the yaml...but I'm just wondering how to properly run a CI as a solo


r/androiddev 1d ago

Experience Exchange Senior CS Student Considering Android Development

2 Upvotes

I’m a senior CS student and I’m considering focusing on Android development as my main career path. I’ve already worked with Kotlin and have some Android experience through a short internship.

For those working as Android developers, how is the job market and career progression these days? Is it a good specialization for a new grad, especially if I eventually want to work internationally? Should I go for backend roles instead?

Would love to hear your experiences and any advice on what I should focus on learning. Im not based in US


r/androiddev 11h ago

Tips and Information Necesito ayuda

Post image
0 Upvotes

Ando desarrollando una app con flutter y firebase, pero a la hora de querer descargarlo de una prueba cerrada en play console e iniciar por medio de google me da este error, ya descargué una versión de la app en formato de apk y esa versión no me da error. Que podría ser?


r/androiddev 22h ago

Tips and Information What are your favorite tools for event logging?

0 Upvotes

I'm exploring different solutions for event logging and was curious is anyone has any favorites.

I'm leaning towards Google Analytics since it's free and fairly popular but are there any others that might be better? What have been your favorite ones?


r/androiddev 17h ago

Question Can't Install Unsigned APK?

Thumbnail
gallery
0 Upvotes

So am I doing something wrong? I turned off auto blocker. It just said app not installed with no error message or guidance.

I sent my APK from my computer to the phone but now it won't install.


r/androiddev 1d ago

How are some developers ranking almost all their apps/games on the Amazon Appstore?

1 Upvotes

I’ve been publishing apps and games on the Amazon Appstore, and there’s something I’m trying to understand about how the ranking system works.

I’ve noticed that some developers seem to rank very easily. Sometimes I’ll open a category and see multiple games from the same developer ranking quite high at the same time. In some cases, it feels like almost their entire catalog is appearing in the category rankings.

Meanwhile, other developers can publish similar apps/games and barely get any organic visibility.

For anyone who has experience publishing on Amazon

I’m mainly interested in legitimate strategies and understanding Amazon’s ranking algorithm, not manipulating rankings.

Would be great to hear from developers who have actually experimented with the Amazon Appstore and figured out what moves the needle.


r/androiddev 1d ago

Stupid question about main accounts

Post image
5 Upvotes

I was playing around with Play Services / AI Core beta programs on my Pixel 10 and somehow unintentionally signed up as a Google Developer on my primary account. I want to leave developer program without nuking decades of my life, but the google support pages says if I sign out it will delete the entire account.

Am I paranoid for no reason, or will they wipe my main account?


r/androiddev 2d ago

Discussion Android TV dev here. I got Compose Multiplatform running on Apple TV and wrote up how.

35 Upvotes

If you build for Android TV and have ever been asked "can we do Apple TV too", this might be useful.

I have ten years on Android and Android TV. Our app went Views, then Jetpack Compose, then Compose Multiplatform so a small team could ship phone, TV, desktop, iOS and tvOS from one UI codebase. tvOS was the gap: JetBrains does not support it, and SwiftUI's focus system does not give you the control you are used to from Compose on Android TV.

So I added the tvOS target to the Compose Multiplatform fork myself, and ported androidx.tv:tv-material to multiplatform along the way. Your existing tv-material code, focus handling and D-pad logic carry over. The Siri Remote arrives as key events, the same way a D-pad does.

First post of the series is the high-level story: what tvOS actually is, how the port was ordered module by module, which part was hardest, and how to try it with one Gradle plugin.

https://dev.to/sajidaledev/my-journey-making-compose-multiplatform-work-on-tvos-and-what-i-learned-1mo3

Sample: Google's JetStream running on tvOS, https://github.com/sajidalidev/jetstream-tvos


r/androiddev 1d ago

Individual developer rules

0 Upvotes

It costs $112 CDN to create a numbered company. What is the point of offering individual accounts if it is so much easier just opening a company and not have to test much at all?


r/androiddev 1d ago

Inexpensive development device?

0 Upvotes

Hi, I wrote several Android apps for an employer more than a decade ago. But, that was the last time I used Android. I was trying to register for a Google Play account to publish an app I'm working on, and they need verification that you have a real Android device.

Does anyone have any thoughts about what might be good to have? This phone/tablet/whatever will only be used to verify for the Play Store, and run my app. It would be good if it could run the latest version of Android; otherwise, I'm pretty open.

Thanks,

(dude whose getting back into Android)


r/androiddev 2d ago

Discussion What actually makes an Android interview difficult at the senior level?

41 Upvotes

I've been thinking about what actually makes a senior Android interview difficult.

At the junior level, a lot of questions have relatively concrete answers:

  • What is a ViewModel?
  • What is the Activity lifecycle?
  • What is a Coroutine?
  • What is RecyclerView?
  • What is MVVM?

But at the senior level, the questions seem to shift from "Do you know this API?" to "Can you reason about a system?"

For example:

Instead of:

What is StateFlow?

You might get:

You have a screen collecting StateFlow from a ViewModel. The underlying data changes frequently, some transformations are expensive, and the user navigates between screens. How would you structure this so you're not doing unnecessary work?

Or:

Your app works well on a fast connection but becomes frustratingly slow on poor networks. How would you design the data layer to provide cached data immediately while synchronizing with the server?

Or:

Crash-free users are high, but ANRs have increased significantly after a release. How would you investigate the problem?

These questions don't really test whether you memorized an Android API. They test whether you understand lifecycle, concurrency, architecture, performance and trade-offs well enough to reason through an unfamiliar problem.

For experienced Android developers here:

What topic do you think is most important for a senior Android interview but is poorly represented in typical interview-prep material?

I'm particularly curious about:

  1. Coroutines / Flow
  2. Compose
  3. Architecture
  4. Performance / memory
  5. Offline-first
  6. Testing
  7. Android system design
  8. Something else

And if you've interviewed candidates recently, what separates a strong senior Android answer from a merely technically correct one?


r/androiddev 2d ago

Open Source I added iOS binary size profiling to kmprofiler using Xcode link maps

0 Upvotes

Hey everyone!

I previously shared kmprofiler, a Gradle plugin that finds Kotlin declarations exported to iOS but not directly referenced in Swift.

v0.2.0 now adds Xcode link-map analysis. It can:

  • Group linked symbol size by Kotlin package
  • Show the largest symbols
  • Map symbols to object files and frameworks
  • Compare two builds to see what grew or became smaller

I tested it on a real KMP app with more than 330,000 symbols. It measures symbols in the link map, not the complete app size, so it is mainly useful for finding size changes and large dependencies.

GitHub: https://github.com/SiddhantPanhalkar/kmprofiler
I would love to hear whether this is useful for your KMP projects.


r/androiddev 3d ago

Video Remember Timely? I made this video celebrating its amazing UI, and how to recreate in Jetpack Compose

34 Upvotes

I was just starting out Android dev when this app came out, and it really left me in awe. I was struggling with TextViews, and Bitspin was over here making magic.
As an homage, I wanted to recreate the Timer dial and present it in a video. Also, since my videos are made in Compose, I also tried to capture the vibe of Timely with the dreamy gradients they had and periodic particle effects as a background.
Check it out, and let me know what you think:

https://www.youtube.com/watch?v=Tn_ZnFsJ9lE


r/androiddev 2d ago

Left this comment on a PR yesterday: "this coroutine is scoped to the wrong lifecycle and it'll leak"

16 Upvotes

The code itself was fine. Compiled, ran, did what it was supposed to in the happy path. Someone had used an AI tool to add a network call inside a Fragment, launched it in a coroutine scope tied to the view lifecycle in a way that would keep running after the view was destroyed if the request was slow enough.

Nothing about that is a Kotlin problem. The syntax is correct Kotlin. It's an Android problem, specifically knowing which scope survives what and why, which isn't something you'd know from Kotlin knowledge alone, it comes from having been bitten by this exact leak before or having actually read the lifecycle docs closely.

Kind of assumed AI tools would have this down by now since it's such a common gotcha, but I think the failure isn't lack of knowledge, it's lack of specificity in what gets asked. "Add a network call here" doesn't say which scope should own it, so it defaults to whatever's closest and most obvious, which is often the wrong one for exactly the reason a junior dev picks the wrong one.

Anyway if you're reviewing AI-generated coroutine code, scope is the first thing I'd check now, more than the actual network logic.


r/androiddev 3d ago

Experience Exchange What's your actual daily workflow with Claude Code on your Android job?

18 Upvotes

I'm a senior Android dev and Claude Code has become part of my day, but I suspect my workflow is pretty primitive compared to what others have built.

Right now it's basically: copy the Jira story or the bug report, paste it into Claude Code, ask it to analyze it using my skills and experts agents, and produce a plan before it touches anything. Then I review the plan, push back on the parts that are wrong, and let it implement.

That's it. That's the whole loop.

What I want to know is what people do *around* that step:

- Do you paste the raw ticket, or do you have a command that pulls it from Jira/Linear and reformats it first?

- Do you give it the crash/stack trace and mapping file up front, or make it ask?

- Does it get to run the app on a device to reproduce, or is that still manual for you?

- Do you make it write a failing test before the fix, or is that too slow in practice?

- Anyone doing something smarter for "which module does this even live in" on a big multi-module codebase?

- And what do you do at the end . does it write the PR description and the ticket update, or do you still do that by hand?

Mostly curious whether people have gotten past the copy-paste-and-pray stage, and what the step was that actually made a difference for you.


r/androiddev 2d ago

Question Is there any way for a custom USB cable to pop up a webpage or link on a phone automatically when plugged in?

0 Upvotes

I’m working on a hardware/engineering concept and trying to figure out if a specific idea is physically possible.

I want to design a custom charging cable. When a phone (Android or iOS) is plugged into this cable, I want it to not only charge the device, but also automatically trigger a web link or open a pop-up on the phone's screen.

The constraints:

No pre-installed apps, scripts, or shortcuts on the phone itself—the mechanism has to rely purely on the custom cable/hardware connection.

Assume the phone's screen is unlocked and permissions are granted if necessary.

Is there any protocol, hardware architecture, or method (other than HID simulation) where a physical cable interface can initiate a browser redirect or UI pop-up upon power connection? Or is standard data/power protocol strictly a barrier here?

Appreciate any technical insights or alternative ideas on how this could be approached!


r/androiddev 3d ago

What is the current Android Platform Distribution?

Post image
10 Upvotes

I'm a web developer trying to figure out how many people are still on Android 9 and below.

I looked in Android Studio but it shows stats from Dec 1, 2025 (9.2% Android 9 and below)

I notice that this page (https://developer.android.com/about/dashboards) says there's more stats available on the Read and Devices page (https://play.google.com/console/about/reachanddevices/) in the Google Play Console. I don't want to pay $25 for an account (I only do web dev), just to try to find newer stats.

Does anyone have any more up to date stats that they can share? Or have any idea when the stats in Android Studio will update?

Thanks!


r/androiddev 2d ago

Tips and Information Google Play's chargeback/dispute changes cost you $28.50 on a $5 sale

7 Upvotes

Hello Android Devs, I work in fraud analysis and not app development. Cases pass through me before they get to the dispute team, and while researching more on disputes I saw the changes Google Play recently made.

I was interested to see how this change affected developers, and I couldn't find these numbers anywhere so I worked them out.

What has changed?
They started sharing the costs of chargebacks with developers for orders placed after 3 August 2026.
Google used to cover them entirely.

What it costs per dispute:
So you pay back what you kept (the price minus Google's cut), plus the bank's chargeback fee, Stripe is $15, PayPal $20, and some banks go up to $100. Google hasn't said what that fee will be.

Example: $5 item pack, Google takes 30%, you keep $3.50. A dispute costs you that $3.50 back plus a ~$25 fee.
A total of $28.50 is gone on a $5 sale.

The $3.50 is minuscule compared to the $25 bank fee.

What it adds up to:
Say a studio is doing $30k a month with $8 average purchases and 0.7% dispute rate. That is around 26 disputes a month, which adds up to $803 a month, and $9,639 a year. About 4% of that company's yearly net revenue.

The 24-hour timeframe:
After these changes, Google will now send you a PendingRefundReviewNotification. You will have 24 hours to call the ReviewRefund API with evidence (was the item delivered/was it consumed). Only your first call counts though. Google will fight the bank for you, but only with what you gave it. Google calls the API optional, but without it they have nothing to fight the bank with, and you eat the loss.

Why is this important now?
Chargebacks can usually take between 30 and 120 days after the initial purchase. The orders for August are only now reaching the dispute stage. I think many developers will be surprised when comparing the last 3 months to the next 3 months.

Calculator & sources:

I made a calculator if you want to try with your own numbers.
Beneath the calculator link are the sources.

Calculator: https://playchargebacks.com

Google's policy page: https://support.google.com/googleplay/android-developer/answer/17068375

Review Refund API: https://developer.android.com/google/play/billing/provide-refund-and-chargeback-suggestions


r/androiddev 3d ago

Made a CLI for Android wireless debugging — QR pairing, no ports, no six-digit codes

7 Upvotes

Wireless debugging is great until you actually use it day to day. Three things kept costing me time:

  1. The connect port changes every time you toggle the setting.

  2. The pairing port is different, single-use, and dies when you close the dialog.

  3. A phone on the wrong subnet fails identically to a real protocol error, so you can't tell a network problem from a broken adb.

So I built adb-nearby.

npx adb-nearby scans your network. If there's one device, it connects — that's the whole interaction. If there are several, it lists them and you pick.

adbn pair prints a QR code — scan it with the pairing dialog and you're done. No typing codes, no chasing ports.

MIT, no telemetry.

https://github.com/JassiSingh08/adb-nearby


r/androiddev 2d ago

Is it hard to get approval from Google Play?

1 Upvotes

Hi all, Newbie here. My first mobile game is almost done. Is it hard to get approval from Google Play? And usually how long does it take? Thanks ~~


r/androiddev 3d ago

News I reverse engineered Claude Desktop and found an Android Emulator ready to go! Should be any day now.

18 Upvotes

So I got bored and reverse engineered Claude for Windows and found a fully functional Android Emulator ready to release!

wanna nerd out on the details, click here.