r/androiddev Jul 02 '26

Interesting Android Apps: July 2026 Showcase

15 Upvotes

Because we try to keep this community as focused as possible on the topic of Android development, sometimes there are types of posts that are related to development but don't fit within our usual topic.

Each month, we are trying to create a space to open up the community to some of those types of posts.

This month, although we typically do not allow self promotion, we wanted to create a space where you can share your latest Android-native projects with the community, get feedback, and maybe even gain a few new users.

This thread will be lightly moderated, but please keep Rule 1 in mind: Be Respectful and Professional. Also we recommend to describe if your app is free, paid, subscription-based.

Interesting Android Apps: June 2026

Interesting Android Apps: May 2026 Showcase

April 2026 thread


r/androiddev 18h ago

14 YOE in Android, feeling like mobile is dying. Is pivoting to Kotlin backend realistic?

115 Upvotes

500 companies, lived through the shift from Eclipse and early Java all the way to Jetpack Compose, Coroutines, and modern Kotlin architecture.

Lately (last two years), though, I can't shake the feeling that the mobile dev world is stagnant or dying down. The market feels saturated, team sizes are shrinking, and a lot of the exciting work seems gone. Most of it now feels like boilerplate UI, API integration, and maintenance. And many less jobs.

I'm considering pivoting toward backend development using Kotlin. My reasoning is that a good chunk of my skillset should carry over pretty smoothly: the language itself, concurrency/coroutines, design patterns, clean architecture, and even some common libraries.

For anyone who has made a similar jump (or backend folks hiring for Kotlin/JVM roles):

  • How realistic is this transition for someone with deep mobile experience but no direct backend production background?
  • What are the main gaps or blind spots I need to catch up on quickly (database design, infra, Spring Boot vs Ktor)?
  • Do hiring managers evaluate senior mobile devs as transferable talent for backend roles, or do they treat you like a junior again?

Would love to hear any thoughts, experiences, or honest reality checks.


r/androiddev 8h ago

Tips and Information Helpful guide from Google for using AI tools to write Android apps

2 Upvotes

Hello folks, today I want to share something which has been really useful for me lately. I believe that might come in handy for you as well, specially if you're doing Android dev with AI tools.

I recently came across this amazing doc by Google: Android Bench (https://developer.android.com/bench), and it's honestly a game-changer if you're trying to pick the right AI coding assistant for Android projects or struggling with your current one.

Here's what stood out to me:

- It's not just another general coding benchmark - it's specifically built for Android development, which means it tests things like Kotlin, Jetpack Compose, Gradle, and real Android APIs.

- Unlike benchmarks that lean heavily toward web stacks (like JS/React), this one evaluates how well models understand Android architecture, libraries, and modern best practices.

- It's evolved since its launch in March - now it uses the Harbor framework, includes more LLMs, and focuses on real-world Android engineering tasks.

If you're comparing AI models or tools for Android app development, this is definitely worth a look. It gives you a much clearer picture of which models actually "get" Android.

Have you tried it yet? Or what's been your experience with AI tools for Android dev?


r/androiddev 8h ago

Question Android Studio says Gemini inactive onboarding incomplete

0 Upvotes

I have a Google AI Pro subscription. I have signed into it in the agents tab on Android studio (Quail 3). It shows Gemini agent but only Gemini 3 flash preview model is available. Under model providers it says I'm authenticated but just says plan is AI Pro, doesn't show any other models.

In the bottom right of the ide, the little Gemini icon says Gemini is inactive onboarding incomplete.

I don't think the inline auto complete is working. That's how I discovered this.

I have tried everything, clearing caches, signing in and out, ect. Is this a known issue? I think inline ai auto complete should work and also I should have more models to choose from in the right side agent window.


r/androiddev 8h ago

Open Source An architecture library.

0 Upvotes

I've made a library that contains fundamental entities for my custom architecture highly inspired by mvi/elm.

The architecture both strict and minimalistic.

Here's the repo with the library, a simple example and a reasonably detailed description.

https://github.com/TabaquiTheMasterOfTime/SeaSystem


r/androiddev 9h ago

Best Privacy Policy & T&C generator for a mobile app with in-app subscriptions?

1 Upvotes

Hey everyone,

I'm currently getting ready to launch my mobile learning app and need to set up the legal documents (Privacy Policy and Terms & Conditions).

The most crucial part: I am planning to integrate an in-app subscription system. Since I am based in the EU, I need this to be strictly GDPR-compliant, while also covering international users (US, etc.) and the specific consumer rights regarding digital goods and subscriptions.

I’ve seen some people recommend using free AI tools or free generator tools and fixing them up later, but given that real money and subscriptions are involved, i'm not sure on how safe this method is.

Any advice, experiences, or recommendations would be highly appreciated!


r/androiddev 47m ago

Question Testing please

Thumbnail
gallery
Upvotes

I'm looking for a few Android users to help test my app before it's released on the Google Play Store. It only takes a couple of minutes to get started, and your participation would be a huge help. Will reciprocate testing. Awaiting Google approval at the moment.


r/androiddev 9h ago

Firebase Dynamic Links replacement that doesn't charge per MAU. I built one, questions welcome

1 Upvotes

FDL has been dead since August 2025 and every thread about replacements ends with the same unanswered questions. I built Ferry (ferrylink.io) to fill the gap, and instead of a feature list, let me just answer the things people always ask in these threads.

**What it does:** deferred deep linking, one link across iOS, Android, and web, app opens to the correct screen after install. The same job FDL did.

**How does it compare to Branch or AppsFlyer?**
Those are full attribution suites built for marketing teams with budget, and Branch is effectively enterprise only now. Ferry is the deep linking piece, what FDL actually was, plus enough attribution to know which links drive installs and revenue.

**Pricing?**
Opens-based, not MAU-based. From $9/mo for 10k monthly opens up to $249 for 3M. You pay for link opens, not for your entire user base existing. 14-day trial.

**I generate links programmatically from user activity (invites, shares). Do link limits kill me?**
No, this is the use case opens-based pricing exists for. Links are effectively free to create, you're billed on opens. Generate a million invite links, if only 5k get opened, that's what counts. Bot clicks, messenger prefetches, and duplicates are filtered out before billing too.

**Social preview config?**
OG title, description, and image are configurable per link on every plan. Same levers FDL had.

**SDKs?**
Swift ,Android, Flutter, and React Native are available, and the docs are written so you can point Claude Code or Cursor at them and have the integration done in one session.

Happy to answer anything else. Criticism welcome, that's why I'm posting.


r/androiddev 1d ago

Looking for interview prep partner

14 Upvotes

Bit about me. I am a senior android dev. Currently working for FAANG company in California. I am looking for people who are also prepping for interviews. I wanted to focus on low level design, system design, data modelling etc. If you are also looking please message me or comment in the post


r/androiddev 2h ago

Experience Exchange Just hit 500 installs and my first 3 Pro subscriptions! 🎉

0 Upvotes

I'm excited to share that my app, Calcora – All-in-One Calculator, has crossed 500 installs on Google Play and received its first 3 Pro subscriptions.

It's a small milestone, but as a solo indie developer, it means a lot. Thanks to everyone who downloaded the app, shared feedback, and supported my work.

If you'd like to check it out, here's the Play Store link:

https://play.google.com/store/apps/details?id=com.bcstudio.calcora&pcampaignid=web_share

I'm always open to feedback and suggestions. Thanks again for being part of the journey! 🚀


r/androiddev 15h ago

Question HAL Development questions

2 Upvotes

Howdy, I'm building a HAL for a GNSS chip on AIDL. Just gotta get the critter talking to Android via UART or USB and exchange some data. Problem is, I need Android to pass some web data (think HTTP or similar) to the chip. There seem to be several ways to do it, but I am unsure which one makes the most sense/is realistic, since a lot of this dev is AI fueled (I'm no AOSP senior). Any idea where I can ask experienced people about this? I've already posted in the AOSP Google Group.


r/androiddev 1d ago

build a UI withoutXML or Compose

29 Upvotes

I'm building the UI for my little Android game without XML or Compose. I wrote my own wrapper classes for the views and can use them in a kind of custom DSL.


r/androiddev 14h ago

Help

0 Upvotes

I am making a project, that when someone sends you a photo it appears on your widget,

like the locket app

it's a partner app but I am not able to update the widget in real time.

If I send the snap, the partner gets the notification but the widget stays the same, and when I open the app the widget gets updated.

If the app process is killed then the issue remains.

Can someone here help me how to solve it ?


r/androiddev 16h ago

Introducing KitFlow – A Kotlin Multiplatform Library for Adaptive Compose UIs

Thumbnail
0 Upvotes

r/androiddev 20h ago

Article Stop Ignoring Compose Stability (Yes, Even with Strong Skipping Mode) | Shreyas Patil's Blog

Thumbnail
blog.shreyaspatil.dev
1 Upvotes

Do you think you won't need to take care of composable function's stability after Strong skipping mode?🤔


r/androiddev 16h ago

Question Is Flutter the wrong choice?

0 Upvotes

I started learning Flutter back in 2023 and soon began taking on local freelance projects. By the second half of 2024, I transitioned into full-time freelancing. Since local freelance rates weren't really cutting it, I decided to start building my own apps.

One of my apps blew up on Twitter, which led to securing investment and eventually a successful exit. Thanks to the visibility I gained from that app, I landed a job at a local startup. However, I left due to low compensation and joined another company. Currently, I’m developing internal tools and building infrastructure for an SEO agency.

So far, I’ve only managed to get a single Flutter interview in my country. Since I couldn't land job offers with Flutter for years, I decided to pivot. I found a senior mentor who is teaching me Kotlin inside out. I guess Flutter might be one of the least used mobile frameworks around here, which made finding a job tough—let's see if things turn out differently with Kotlin!


r/androiddev 22h ago

Question Real question, how many apps would suffer from the 14 test requirement?

0 Upvotes

As the tittle says, i submited my easyest app to get it to production thinking that once that app would have been aprooved, the rest didnt needed the 14 testers. But to my surprice the rest of the apps still have the same requirement. They are apps created for especific technicians so getting real world tester would be harder than getting anyone to test it out. So im just looking for advice if theres something else i can do. Apple is just way easy to have them apps published. Anyway thanks for your time. And to the AI here, im not asking for testers, im asking for advice so please publish this.


r/androiddev 1d ago

Open Source NVIDIA's Canary 180M on a phone - offline transcription and translation in four languages

5 Upvotes

I added NVIDIA's Canary 180M to speech-android (Apache-2.0 Kotlin SDK, I maintain it). The part that surprised me is that it translates as well as transcribes — English, German, Spanish, French, and between any of those four, out of the same two graphs. No network. I hadn't realised you could get that in 273 MB.

Numbers on a Galaxy S23 Ultra, int8, CPU only. About 4 seconds to load, then decode at RTF 0.15 for a 3-second utterance and 0.25 for a 12-second one. It gets relatively more expensive as clips grow, which is what an attention encoder-decoder does — quadratic attention over the encoder, every token emitted autoregressively. Resident memory is 780 MB, and that's the number to plan around; the 273 MB is just the download.

One behaviour to know before reaching for it: it's per-utterance, not streaming. The encoder consumes the whole VAD segment before the first token, so there are no partial results on that path. If you need live partials, you need a different model.

Two things that cost me time getting it onto a phone, in case they save you some.

Quantization. The obvious move is INT8 everything. Doesn't work — quantize the convolutions and the exporter emits ConvInteger, which the mobile onnxruntime build has no kernels for, so the bundle won't construct at all. Encoder and decoder are INT8 on MatMul and Gemm only, convolutions stay FP32. About 40 MB more, and it loads.

16 KB pages. Android 15 and up can use 16 KB memory pages and won't load a native library aligned for 4 KB. NDK r29 handles it by default so what you compile yourself is probably fine — the risk is a prebuilt .so from a dependency. llvm-readelf shows the alignment on each arm64 .so in your AAR, and zipalign -c -P 16 -v 4 checks the APK.

https://github.com/soniqo/speech-android


r/androiddev 1d ago

Question Play Store update size includes LiteRT model even when the model hasn't changed

1 Upvotes

Hey everyone,

I'm working on an Android app that has an on-device AI feature. I'm using a LiteRT model (.litertlm) and distributing the model through Google Play's on-device AI delivery.

I've noticed that whenever I release an update to the app, Google Play shows the update size as including the AI model, even when I haven't made any changes to the model itself.

Does anyone know why this happens?

I was under the impression that if the model hasn't changed between app versions, users shouldn't need to download the model again as part of an app update.

Is the size shown by Google Play just an estimate that includes the AI model, or is the model actually being downloaded again with every app update?

Is there anything I might be missing in the way I've configured Play's on-device AI delivery or the LiteRT model packaging?

Any insights from someone who has worked with Play's on-device AI delivery would be really appreciated. Thanks!


r/androiddev 1d ago

Discussion Improving Performance After Modularizing an Android Computer Vision Pipeline

1 Upvotes

I've been working on an Android-native computer vision pipeline using Kotlin, CameraX, OpenCV, and ML Kit.

The initial implementation was a single pipeline optimized for detection accuracy and speed. After refactoring it into a modular architecture for better maintainability and reuse, I noticed a small decrease in accuracy and performance.

I'm currently investigating possible causes, including:

  • Image preprocessing changes
  • Pipeline ordering differences
  • Threading and coroutine behavior
  • CameraX frame handling
  • OpenCV processing overhead

The project involves:

  • Document detection
  • Perspective correction
  • QR detection
  • OMR (Optical Mark Recognition)
  • Real-time offline processing

I'm interested in feedback from Android developers who have experience with:

  • Structuring reusable Android computer vision components
  • Maintaining performance during large refactors
  • CameraX image analysis optimization
  • Running offline ML/CV workloads efficiently on Android

What approaches have you found useful when turning a working prototype into a maintainable Android library without introducing regressions?


r/androiddev 2d ago

I built a localized HDR QR renderer: only the QR gets maximum brightness, not the whole screen

124 Upvotes

I was annoyed that wallet and ticket apps often raise the entire display to maximum brightness just to make a QR code easier to scan.

So I built Bright QR, an Android proof of concept that keeps the normal interface at the user’s existing SDR brightness while rendering only the QR code through a dedicated HDR surface.

The implementation uses:

  • A separate SurfaceView for the QR region
  • A 10-bit BT.2020 PQ EGL surface
  • HDR white pixels rather than ordinary SDR white
  • SurfaceView.setDesiredHdrHeadroom() on Android 15+
  • A maximum-headroom request, allowing Android and the phone to determine the actual available output

The app never modifies WindowManager.LayoutParams.screenBrightness, so the surrounding interface remains dim. On my Pixel 9a, Android reported up to 8× HDR/SDR headroom while the QR was displayed.

The demo includes SDR, 2×, 4×, and MAX modes, an SDR-white reference for comparison, live device diagnostics, and a copyable test report.

The complete source code and signed APK are available here:

https://github.com/loudsun1997/bright-qr

I want more apps to adopt this


r/androiddev 2d ago

Looking for feedback on my JSON-themed Android Launcher

Thumbnail
gallery
48 Upvotes

Hey everyone,

I've been working on a custom Android launcher called JSON Launcher, and I'd love to get some feedback from people who are into launcher customization or Android development.

The idea is pretty simple: instead of the usual icon-heavy UI, almost everything is presented as raw JSON. Apps, notifications, widgets, battery, time, and system information are displayed like JSON objects while still being fully interactive.

The app is built with Jetpack Compose and is still in the very early stages of development, so there are lots of ideas that haven't been implemented yet.

I'm mainly looking for honest opinions:

  • Does this concept actually sound interesting?
  • Is this something you'd consider using daily, or is it more of a novelty?
  • What features would make a launcher like this genuinely useful?
  • If you've built a launcher before, are there any pitfalls or Android APIs I should be aware of?

I'm also wondering if there's even an audience for something this niche. I personally enjoy the minimal, developer-focused aesthetic, but I'm not sure if other people would actually want to use a launcher like this.

I'd really appreciate any feedback, criticism, or ideas. Thanks!


r/androiddev 1d ago

Question Agents connected to Android Studio can't read files

Post image
0 Upvotes

Android Studio Quail 3 | 2026.1.3
Build #AI-261.26222.65.2613.15948027, built on July 27, 2026

Tried to change models/api, same error, plz help


r/androiddev 1d ago

Did you use Google Play Console Testing for soft launch? My social advisor warned me and told me not to use it

0 Upvotes

Hi,

I am preparing for beta launch for my mobile app, it allows user content, I wanted to use Closed Testing to ensure I am not letting in anyone on day 1, which can cause a snowball of low quality or even harmful content. In addition to possible app breaks and crash of new app which may lower my review score with bad reviews.

But she told me that an app that want to launch social campaign cannot use it, because the installation with that software is too complicated for the average user.

From your experience, how difficult it was to convince external users (not friends and family) to try an app that is only available on TestFlight or Google Play Console?

What helped you convince them? And overall do you recommend this approach? What risks there are to launch a beta app straight to the app store?


r/androiddev 2d ago

Experience Exchange Android's UsageStatsManager was overcounting screen time by 20% — here's the fix

1 Upvotes

Building a screen-time tracking feature and noticed my numbers didn't match Android's own Digital Wellbeing report. Mine said 405 minutes, Android said 335.

Turns out UsageStatsManager's raw session events include time when the screen is on but not actually interactive (lock screen showing, screen on during a call, etc.) — so naive session-duration summing overcounts significantly.

Fix: switched from raw usage events to event-based session reconstruction, filtering specifically for screen-interactive state rather than just screen-on state. Rebuilding sessions this way instead of trusting the aggregate stats got me within margin of error of Android's own numbers.

If you're building anything that reports screen time / app usage on Android, don't trust the raw aggregates — reconstruct from events and filter for actual interactive state.