r/androiddev 16d ago

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

108 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 6h ago

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

13 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.


r/androiddev 1h ago

Question What if capybaras actually made your phone harder to use?

Enable HLS to view with audio, or disable this notification

Upvotes

I added a feature to the productivity app I’m building that adds one capybara to your home screen for every hour of screen time. The capybara keeps reminding you about your screen time and encourages you to stop using your phone if your screen time gets too high, while also making it harder for you to use your phone.

What do you think about this feature? Is it a stupid idea, or do you think people would actually use it?


r/androiddev 11h ago

I built a product tour library for Compose Multiplatform

15 Upvotes

Hi everyone,

I built GuideKit Compose, an open-source coachmark and product tour library for Android and iOS.

It supports customizable spotlight overlays, target highlights, instruction cards, smart arrows, multi-step tours, automatic scrolling, navigation callbacks, and per-step styling, all through a shared Compose Multiplatform API.

It is available on Maven Central and licensed under MIT.

Website and demo:
https://tharukack.github.io/guidekit/

GitHub:
https://github.com/tharukack/guidekit

I’d appreciate feedback on the API, documentation, compatibility, sample project, or anything else you think could be improved.


r/androiddev 9m ago

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

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 3h ago

Experience Exchange [Project] Fully offline mobile LLM chat + Bluetooth nearby messaging — looking for feedback

0 Upvotes

Built an iOS/Android app that runs local Llama/Gemma fully on-device (no cloud inference), plus nearby phone-to-phone messaging over Bluetooth that works in airplane mode. Also supports chatting with local documents on-device.

Looking for technical feedback from this community:

- What model sizes / quantization's are realistic on mid-range phones?

- Any known pitfalls with on-device inference UX (load times, thermal throttling, context limits)?

- For airplane-mode nearby messaging + local AI, what would you want to see next?

Happy to share demos / details in comments if useful.


r/androiddev 19h ago

Discussion Android + Arduino App ( Update )

Enable HLS to view with audio, or disable this notification

17 Upvotes

Hello Everyone I have built an app which can control the hardware also we can use the android phone sensor and its data to control the hardware its still not completed yet but work is still in progress.


r/androiddev 5h ago

Question 3rd year, weak at DSA, doing Android dev + internship should I focus on placements or try to manage everything?

1 Upvotes

I’m currently in my 3rd year of college, and honestly, I haven’t done much in DSA yet.

Right now I’m doing an Android development internship, and alongside that I’ve also been building and publishing my own apps on the Play Store because I want to eventually build my own startup/product.

The problem is that our college placement season will start around January, so I’m getting a little confused about what I should prioritize from now.

My current situation is basically:

\\- DSA: Very weak / haven’t done much

\\- Android development: Decent and currently doing an internship

\\- Personal projects: Building and publishing apps on the Play Store

\\- Long-term goal: I’d like to build my own products/startup

\\- Short-term goal: I obviously need to be prepared for placements

Should I completely put product development on hold for the next few months and focus heavily on DSA + my internship?

Or should I continue my internship, keep building my apps, and try to manage DSA alongside all of this?

I’m worried that if I focus too much on DSA, I’ll lose the momentum I’ve built with development and my own products. But at the same time, I don’t want January to arrive and realize I’m completely unprepared for placements.

For people who have been in a similar situation, what would you do if you were in my position?

Would really appreciate honest advice, especially from people who have gone through campus placements while also working on development/projects.


r/androiddev 19h ago

Thoughts on the current mobile market? Are you seeing a shifts?

16 Upvotes

I'm curious to hear your thoughts on the current state of the mobile development market. Beyond a general contraction, it seems to be moving away from contracting toward permanent positions. Are any of you looking into multiplatform frameworks or pivoting to a different engineering domain?


r/androiddev 18h ago

Android System Design Interview Prep Platform

Thumbnail
returnzero.dev
9 Upvotes

8 years away from Android,  applied for backend/tooling roles at Google. They decided I should interview for an Android role, had to catch up for all the lost time.

To help bridge this gap, I started approaching the whole thing historically, and wrote an article about Android's platform history, to both learn and get out some steam over the how much was actually changed...
In the process of prepping (and later), I built returnzero.dev - specifically the Android System Design module. I wanted to create something similar to what HelloInterview does for backend, but tailored to Android.

Android Core Concepts: All the core concepts important to talk about Android intelligently in an interview.
System Design Guided Practice: An tool to help you build your designs on an Excalidraw canvas, with AI guided practice, and get step-by-step feedback.

Most of the course is completely free, including the guided practices on several core designs.

Happy to answer any questions and receive any type of feedback :)
Thanks!


r/androiddev 13h ago

I built an on-device Android build/runtime environment with AIDL-separated tooling — looking for architecture feedback

0 Upvotes

Frankenstein Ultra is publicly downloadable now. It uses a separate companion runtime called Victor and gives an AI agent access to a real project workspace, files, terminal, build tooling, and other development capabilities directly from the phone.

This isn’t just a code-generation interface. The goal is for the agent to actually work through development tasks: inspect files, modify code, run tools, read failures, rebuild, and produce runnable software.

I’ve used it for Android projects, Node/npm projects, and other development workflows.

Right now I’m mainly looking for feedback on things like:

  • what works well and what doesn’t
  • bugs or crashes
  • device compatibility
  • confusing UI or setup
  • features that feel incomplete
  • things you expected it to do but couldn’t
  • agent behavior that feels wrong or repetitive
  • build/runtime problems
  • performance, battery, RAM, or thermal issues
  • features you’d actually want added or improved

You do not need to be an Android developer to give useful feedback. If you’re curious about AI coding, mobile development, automation, or just want to try something unusual, I’d still like to hear what your experience is like.

If something fails, details such as your device, Android version, what you were trying to do, and where it failed are especially helpful.

Website: https://stitchlab.dev/
GitHub: https://github.com/sedds89/StitchLabtools

Main thing I want to know: what works, what doesn’t, what’s confusing, and what would make Frankenstein more useful to you?

There is no pay walls its Bring your own key and supports Oauth for Grok and Codex open router or cline. Could probably integrate more just not sure what is wanted or needed.


r/androiddev 20h ago

Question How do you handle app startup logic (token validation, onboarding, navigation) in Jetpack Compose?

1 Upvotes

I'm a Junior Android developer who has been working on an app for the past nine months. During this time, I have had many doubts about how to properly manage initialization tasks, such as:

- Reading initial preferences from DataStore

- Checking if the user has completed onboarding to decide the starting screen.

- Validating the authroization token (redirecting to the SignIn Screen if expired, or to Home if valid)

All these tasks have one thing in common: they need to run when the user opens the app for the first time, when the app comes back to the, or when it gets repened.

For this reason, I would love to hear your perspective on how you structure and handle this process in production apps, as well as any resources you recomended to help me gain seniority in Android development.

Currently, I've thought about using MainViewModel that only collects StateFlows (without holding domain logic). For navigation, I'm using a Channel injected by Koin with a sealed interface to emit events, which are received inside a LaunchedEffect to execute backstack navigation using Navigation 3.

What are your thoughts on this approach? How do you handle startup routing in your projects?


r/androiddev 15h ago

If you’re deciding on registering solo or as an organization, and the 12 tester/14 day rule is part of the equation, here’s my experience.

1 Upvotes

The 12 testers-14 days requirement is aimed at personal developer accounts. 

What Google does not seem to make clear is rather or not organization accounts are exempt.

Although I cannot say what the rule is, I can say what happened to me.  

Timeline (The following information is from Play Console commit history)



The organization's developer account was created on July 16, 2026.

Initial submission (July 21): Includes closed beta testing, store details page information, and app content. Released.

Closed test track iterations: July 22, July 29, and July 31 (twice).

Submitted to Production: August 20, 2:06 PM. Released. The review process took only a few minutes.

There are only 7 internal testers; the closed test track exists purely as a means to pass the audit.

There was no requirement such as "12 testers participating in the test for 14 consecutive days".

Surprisingly, there were no "hard barriers" to overcome. I was never prevented from submitting to the official version. The reason I waited until August 20th to submit was because I was waiting for Apple's review results (Apple's initial review takes 13 days). My console showed only one official submission record, and it was released that afternoon.



The actual cost of organizing an account (it's not a free shortcut):



You need to apply for a DUNS number for your legal entity. It's free, but it takes time.

Your legal name and address must be identical word-for-word to those in your state business registration information, Dun & Bradstreet (D&B) records, and store payment details. Any mismatch will result in organization verification failure.

The key lies in Dun & Bradstreet's (D&B) records, not the Play Console itself. If you need to change the address, you must first update it in D&B, wait for the information to sync and take effect, and then update the store information. This takes several weeks, not just a simple settings change.

Your business address will be publicly displayed in the "About the Developer" section of the Play Store page. Anyone browsing that page will see your full street address, phone number, and email address. If you registered as an independent developer from home, your home address will be displayed.

This last point is worth considering before choosing this option, and it really surprised me.



Important: Google does not offer exemptions for organizational accounts, so this is based on my personal experience and is not professional advice. Please verify this information yourself before relying on it.



Official page: https://support.google.com/googleplay/android-developer/answer/14151465


r/androiddev 1d ago

Open Source minimo (video) — free and open-source on-device video compressor using MediaCodec/MediaMuxer

Post image
4 Upvotes

I built minimo because most video compressors either upload private footage or hide useful controls behind a subscription. I wanted compression to stay fully on-device, with a simple UI for normal use and enough control when presets are not enough.

Key features:

  • fully on-device compression using native Android codecs
  • batch compression with per-video progress
  • simple presets and advanced controls (resolution, bitrate, frame rate, H.264/HEVC, audio)
  • before-and-after comparison before saving
  • automatic cleanup: if a compressed file is not at least 10% smaller, the new copy is deleted
  • input copies and unsaved outputs stay in temporary app cache, cleared on cold start
  • light and dark themes, 12 languages

Pricing: Free. No account or subscription.

Privacy: Videos are never uploaded. All processing happens on-device.

The project is free and open source: https://github.com/minimo-pro/minimo_video


r/androiddev 7h ago

Question Lets build project together which eventually leads to startup

0 Upvotes

Hey folks! 👋

Whether you’re a college student, self-taught developer, designer, or just someone who enjoys building things — I’m looking to connect with a few people in Bangalore to work on startup/side project ideas together.

The idea is simple:
Build cool stuff, learn along the way, and meet like-minded people locally.

If things work out, awesome 🚀
If not, we still end up with:
- Real projects
- Practical experience
- Better portfolios/resumes
- And a strong network of builders in Bangalore

I’ve been in the industry for around 4 years, so I can help with things like deployment, engineering workflows, scaling, and shipping products in the real world.

If this sounds interesting, drop your:
- GitHub
- LinkedIn
- Portfolio
- Or anything you’re proud of building

Let’s make something fun together 🤝


r/androiddev 18h ago

Tips and Information Reaching testers during closed test session

0 Upvotes

I was not expecting that communicating with testers would be that difficult.
Maybe it will help you if you have the same issue.

I had around 200 testers for my side project. Great news but my contact email got flagged as SPAM and blocked for a few days when I tried to sent app test url to them.

Almost half of my users did not received the test url and I was unable to reach them because I was blocked.

I did not want to pay anything to mailing services so I just setup a google group with testers email. It worked great without any related smap issues.

Hope it will help someone in the same situation as I was


r/androiddev 19h ago

News Android Studio Rabbit 1 Canary 4 now available

Thumbnail androidstudio.googleblog.com
0 Upvotes

r/androiddev 1d ago

AdMob on Android: Some Non-Obvious Things I Learned from Multiple Integrations

3 Upvotes

I’ve integrated AdMob into Android apps quite a few times, and there are some non-obvious things that aren’t really covered by the basic documentation.

I decided to write down some of the things I’ve learned from doing these integrations, using an Android game as a real-world example.

If you’re working with AdMob on Android, maybe it’ll be useful:

https://nadyabr-codes.github.io/admob-android-game.html?utm_source=reddit&utm_medium=social&utm_campaign=admob_post

Curious to hear your opinions and experiences as well.


r/androiddev 1d ago

Question Recommend me good books for Android for 2 YoE.

6 Upvotes

I have been laid off yesterday. I'm gonna use all my time to apply and read books that helps me land the next role. My priority right now is landing my next job and increase my knowledge.

I plan to read:
1- Mobile system design interview guide
2- Kotlin coroutines: deep dive
3-Kotlin in action

I want something about DSA and something about modern android development and maybe something about compose. I already know these stuff (as much as a 2 YoE can know), but i want to expand my knwoledge and go a in depth.


r/androiddev 1d ago

Question No fill with GMA Next Gen SDK (Android)

1 Upvotes

I created an app using gma next gen and it was working fine in production. Later I wanted to test mediation with a custom third party so I found myself switching to the old sdk. For whatever reason it performed horribly so now I've switched back to the next gen sdk again.

The issue is that even though my test ads work both on the debug and release build but for some reason my ad units have stopped working. From the logs I can only tell that every time one attempts to load it return a no fill. It's been like that for a couple of days. I've got a Rewarded and Native unit.

Anyone that knows what the issue might be?


r/androiddev 1d ago

Open Source Lightweight ZSTD with support for Android

1 Upvotes

Hello, I noticed the lack of a proper Java-only implementation of ZSTD (I know zstd-jni is fine, but it uses native libraries and is kind of heavy too) that also supports Android

So meet the murine-aircompressor library

After checking out version 2.0 of aircompressor, which is exclusively Java-only and used JDK 8, I saw the maintainer claimed Unsafe was not available for Android and therefore Android support was out of scope for it; however, that turns out not to be the case, Unsafe can be used on Android and there was only one single method and a static field which are missing on the Android implementation of Unsafe, I just made a helper method for the former, choosing the right implementation, while the static field was just a call to an existing method, and Bob's your uncle.

But not satisfied, I made a few changes, a lot of which are kanged from other forks the maintainer ignored:

- improved compression a lot (original fork that implemented this change here) - added an option to switch to the former behaviour too

- added a ring buffer mode and set as degault (also kanged from another fork, seems to improve performance over largely incompressible data)

- exposed levels for the streaming compressor

- added FAST algorithm to also support levels 1-2 on top of 3-4 which were the only supported ones in the original (level 2 is also pretty good and way faster; Claude is, however, mostly to praise [or blame] for this one)

- Improved overall performance on ARM (again, Claude is mostly to praise/blame here, but I did a lot of tests)

- added parallel compression support because fuck it

- added a wittle tar (with PAX) implementation because fuck it again, I wanted to make .tar.zst without qdding extra libraries

Using WindowSlideMode.HIGH_SPEED resets the library's (ORIGINAL) shit compression ratio for the stream, but makes it faster, I suppose; I default to HIGH_COMPRESSION which is still decently fast, and if you want it to be faster, it's much much better to use level 2 with HIGH_COMPRESSION than the default level 3 with HIGH_SPEED in my experience

Overall, the library is a little slower than zstd-jni with the (now) default parameters, but now matches its compression ratio, and may be a good compromise you'd rather want a lightweight full-java implementation than the heavy .so files in your apk

EDIT: I also noticed this may sound like I'm trashing the maintainer, I'm not lol, just stating facts, the maintainer is awesome for creating the library on the first place


r/androiddev 1d ago

Question How do you get your android tv app approved?

1 Upvotes

I just got rejected from the store after adding an app to expand my base app (that already have mau)

The issue is that it's a TV app, and I've tried to open it up for phone access just to pass the bridge but I got rejected..

Any help would be appreciated

" More testing required to access Google Play production

We reviewed your application, and determined that your app requires more testing before you can access production.

Possible reasons why your production access could not be granted include:

Testers were not engaged with your app during your closed test

You didn't follow testing best practices, which may include gathering and acting on user feedback through updates to your app


r/androiddev 2d ago

Question What’s one architectural decision you made that saved you a huge amount of pain later?

30 Upvotes

When I build my own Android application, I have spent more amount of time into defining the architecture, not actually writing the features.

And more importantly I believe that if you want to scale an application in future then architecture plays a huge role. A well designed architecture allows you to introduce new features or even integrate a different language or technology without having to touch or rewrite a large portion of the existing code.

So it could be related to Jetpack Compose, state management, navigation, modularization, dependency injection, offline-first architecture, testing, or anything else. I am interested in decisions that seemed unnecessary at first but it ended up paying off as the app grow.


r/androiddev 1d ago

how do you decide what to test after a new change is introduced?

0 Upvotes

I’m trying to understand a couple of pain points QA teams deal with regularly:

  • How do you figure out what needs to be tested after a feature is added?
  • When a test fails, how easy is it to tell whether it’s a real bug, flaky test, or locator issue or test data issue, or environment issue?

I’m exploring whether these are actually big enough problems to solve, so I put together a very short survey.

Would really appreciate any responses or even thoughts in the comments. (1min max, just clicks)

Lik: https://forms.gle/1EyP5Bz3CNBB2DrM7

Thanks!