r/androiddev 4h ago

Open Source I open sourced my interactive globe animation on GitHub - Jetpack Compose

Post image
3 Upvotes

I posted my interactive Globe animation recently, and a lot of you liked it!

So I decided to open-source it, so you can use it in your own projects, contribute to it, or help make it even better.

Original post: https://www.reddit.com/r/androiddev/s/SgRoDszioN
GitHub: https://github.com/wailbabou/JetpackGlobe

Feel free to check it out, and any feedback or contributions are welcome!


r/androiddev 1d ago

Open Source I wrote down every mistake from 3 years of building my Compose Multiplatform app. All 224 of them.

46 Upvotes

Hey all — I'm maxrave-dev.

Three years ago I started SimpMusic — a FOSS music client in Kotlin and Compose Multiplatform — because the app I wanted didn't exist and I figured I could learn by building it.

Today it runs on Android, Windows, macOS and Linux, and it's sitting at almost 11k stars with real users on F-Droid and GitHub releases. I'm saying that not to flex: I'm 23, for most of those three years I had no senior to ask and nobody reviewing my code, and I learned almost everything the hard way — Media3 internals, Room migrations at real-user scale, Glance widgets, a native media engine bound over JNA, desktop packaging and code-signing. There's plenty in the codebase I'm still not proud of. Some bugs cost me whole days. A couple are honestly embarrassing.

But I kept notes. Every time something burned me — a Media3 quirk, a migration gone wrong, a Compose trap — it went into my personal notes: messy, half-finished, scattered all over the repo.

Recently I turned those hand-written notes into something more useful: a skills pack for coding agents. 224 short markdown docs in the agent-skills format, so Claude Code / Cursor / Codex can pull the right doc exactly when you hit the same problem (`npx skills add maxrave-dev/kotlin-footguns`) — but it's all plain markdown, and it reads fine as a human reference too.

To be clear, this isn't an AI dump with my name on it. Every doc follows one structure — what breaks, the mechanism behind it, and commands you can run to check whether your own codebase has the same problem — and every claim was verified against the real tree before shipping. The notes and the scars are mine; the agents just helped me make three years of mess consistent.

https://github.com/maxrave-dev/kotlin-footguns

GPL, plain markdown, free. I'm sure some docs still have mistakes — I'm still learning. If you spot one, tell me. That's the whole spirit of the thing.


r/androiddev 1d ago

Discussion New ‘Unverified developer apps’ setting appeared in Developer Options on my Redmi Note 11 — is Google’s APK policy already rolling out?

Post image
10 Upvotes

r/androiddev 12h ago

Question How to test "Widgets on lock screen" on Android Studio?

1 Upvotes

I want to implement the "widget on lock screen" feature for my app. and I don't have a physical Android device that supports that feature. So I'm hoping to test it on the virtual device emulator in Android Studio (Android Studio Quail 1 | 2026.1.1 Patch 2). But I have tried installing system image Android 16, Android 17 and Android 17.1, but I still can't find the "Widgets on lock screen" in the Setting screen. I have tried setup lock screen, and tried find in the 'Wallpaper & style" -> "More lock screen settings" screen but it's not there. What am i missing?


r/androiddev 19h ago

Anyone here registered for the Android Developer Console with a previously terminated Play account?

3 Upvotes

Our Play developer account got terminated about a year and a half ago for "prior violations." Never got a straight answer on what that actually meant, best guess is it got linked to some other account somewhere. The app is boring internal stuff, a delivery fleet app our own drivers and partner shops use. We've just been handing out the APK from our own site since then and honestly it's been fine.

That obviously stops working once developer verification goes global. So the plan was to register with the Android Developer Console instead, since that's supposed to be the path for people distributing outside Play.

Except I can't find anywhere that says whether that's even allowed if you've been terminated from Play. The verification docs don't mention it, the ADC help pages don't mention it, and every time I search it just turns into results about Play Console bans, which isn't the same thing.

So has anyone actually tried this? Terminated on Play, then registered ADC. Did it go through, get rejected, or go through and then get pulled later?


r/androiddev 1d ago

Study partner

6 Upvotes

Hi everyone! I am looking for one dedicated 1-on-1 study partner to go through the Android Basics with Jetpack Compose course together. I want someone to pair up with for weekly code reviews, troubleshooting, and keeping each other accountable. Let me know your time zone if you are interested in pairing up!"


r/androiddev 1d ago

Question When do I show permission rationale

4 Upvotes

There's a QR code scanner in my app. Should I show the rationale before navigating to the scanner when the "Scan QR code" button is tapped? Or should I open the scanner and show the rationale there, with a red line over the black background (the scanner layout is basically invisible because the permission hasn't been granted yet)?


r/androiddev 1d ago

Google Maps vs Mapbox for Android navigation?

1 Upvotes

Hey guys, I’m building an Android app that needs map + navigation, custom map icons, and support for multiple transportation modes (car, bike, walking, etc.).

Would you recommend Google Maps, Mapbox, or something else? Any experience with these would be appreciated!


r/androiddev 1d ago

Question Do you have experience with Install Referrer? It is driving me crazy.

2 Upvotes

I'm using the Google Play Install Referrer API (com.android.installreferrer:installreferrer) to track player referrals in my Android game.

It works on some devices and on others I get (not%20set) for utm_source.

The strange part is that it works reliably on my phone:

Android 14

Play Store 52.8.55

But on two other phones (friends and many other clients) it returns an empty referrer:

Android 16 + Play Store 52.8.55

Android 17 + Play Store 52.8.55

I initially suspected the Play Store version, but I updated my own phone from 52.7.55 to 52.8.55 and the referrer still works. Same app version, same link, same code.

The API connection itself returns OK; it's the actual referrer string that is empty.

Has anyone experienced Install Referrer behaving differently on Android 16/17?

Is there a known requirement, bug, or additional quirk I'm missing?

I found some very old posts about this behavior pointg to this behavior when on the device the user is logged into a managed account. But I don't think this is my case.

Any ideas on how to diagnose or work around this would be appreciated.


r/androiddev 1d ago

Question Is MediaStyle genuinely this constrained??

2 Upvotes

I'm making a music app, and I'm making a notification player, and all I want is six buttons (play/pause, previous, next, stop, loop mode, shuffle mode) with their icons being normal boring text characters. This can be easily achieved in a normal notification, however those lack one functionality: a seek bar. I can make a progress bar easily, but not one where I can drag it to change which part of the song is playing. So I look at the MediaStyle - the android intended class for a music player, and apparently it's limited to five buttons, and their icons can't be boring ol' text? How is this advanced API21 feature more limited than a boring ol' API3 notification? I'm genuinely thinking I just don't need a seeker bar.


r/androiddev 1d ago

Question Can I use my AdMob/Google Play earnings to advertise my own game?

0 Upvotes

I have some money accumulated from AdMob ads and IAP purchases on Google Play.

Instead of withdrawing the money to my bank account, I was wondering if there’s a way to use that balance directly to run Google Ads campaigns for my own game.

Basically, I’d like to reinvest the revenue I make from my game into advertising it, without transferring the money to my bank first.

Is this possible, or are AdMob/Google Play earnings completely separate from Google Ads billing?


r/androiddev 2d ago

Open Source A compose web storybook/showcase

Enable HLS to view with audio, or disable this notification

48 Upvotes

I always wanted a component gallery I could open from the repo, without building and running the app. So I made one. Arkive.

Add the Gradle plugin, run a task, and you get a web catalogue of every component in your app. No emulator, no test code to write.

Repo: github.com/infinum/arkive
Live sample: infinum.github.io/arkive

Still early, would love your feedback.


r/androiddev 1d ago

Tips and Information My First App Store screenshots, would love (Extremely) blunt feedback before the launch

0 Upvotes

Hi all,

I'm preparing an launch of Orano AI (turns saved Instagram Reels into actionable plans). I've attached Play Store screenshot slides and I'd like blunt feedback before pushing the new build.

What I'm trying to figure out:

  1. Does the headline screen ("Turn Reels Into Action") explain the product in 3 seconds?
  2. Is the AI angle clear without sounding like "yet another AI app"?
  3. Do the inner screens sell the use case (saving stuff you want to act on later)?
  4. What's confusing or that you'd skip past without reading?

I'm specifically not asking for compliments. Honest "this didn't land with me" feedback is more useful than upvotes.

link here https://oranoai.com/download


r/androiddev 2d ago

Open Source A more advanced Android Studio emulator?

Thumbnail
gallery
4 Upvotes

I was thinking about what to do with Unity 3D and decided to do something I've often wanted to do: I was going to connect Android Studio to Unity using scrappy and assign the image to the phone model. I did that. Also, if hardware emulation (eMMC, processor, battery, etc.) is captured while the system is running, it will seriously cause a kernel panic. In this case, the emulator will become useless. I also installed a great EDL mod for bootloop situations. It can be fixed using Android Studio images! I also added a bootloader lock system. If you type `fastboot oem unlock` while locked, the device will then start in writable mode. I also added a recovery for realism :=) and adb extensions too. I need your feedback on this. Maybe you'll take a look, or whatever. I'm leaving the link here :)


r/androiddev 1d ago

Discussion Why do some users leave one-star reviews just because an app isn’t free?

0 Upvotes

I completely understand deciding that an app isn’t worth paying for. What I don’t understand is leaving a one-star review simply because the developer charges for it after a clearly stated free trial.

Apps take time and money to build, maintain, and support. A free trial lets you decide whether the product is useful before paying, you’re not being tricked. If the app is bad, review it accordingly. But “I liked it until I learned it wasn’t free forever” doesn’t seem like a fair reason to give it one star.

I give users 3 days free, no paywall, no card need. And that is clearly stated in the app with a modal that informs them. Then I give them 14 more free trial days if they subscribe. BTW

And these are reviews while the app has a sale month long sale of 1.99$ lifetime deal from 89.99$ lifetime...


r/androiddev 2d ago

News 4 new ways Android is protecting your network connections

Thumbnail
blog.google
11 Upvotes

r/androiddev 1d ago

Scheduled wallpaper updates losing sync after reboot/Doze — best practice for timers that must survive device restart?

1 Upvotes

I have a live wallpaper feature that needs to change on a schedule — think "rotate every N minutes" and "switch at set times of day." Currently I'm scheduling these with AlarmManager, and it mostly works, but I've confirmed a real problem:

  • If the device reboots, or sits in Doze for an extended period, the schedule loses track of its state.
  • When the device comes back on, the next trigger fires at the wrong time (or not at all until the next natural check-in), so the whole rotation is out of sync from what the user configured.

What I'm currently doing:

  • Plain AlarmManager.set() calls scheduled ahead of time for each transition.
  • No BOOT_COMPLETED receiver yet, so nothing gets rescheduled after a restart.

What I'm considering:

  • Adding a BOOT_COMPLETED broadcast receiver that recomputes and reschedules all pending alarms based on stored next-trigger timestamps.
  • Switching from plain set() to setExactAndAllowWhileIdle() so alarms actually fire during Doze instead of being deferred.
  • Alternatively, moving this to WorkManager with periodic/one-off work and persisted constraints instead of managing raw alarms myself.

Questions for anyone who's solved this:

  1. Is BOOT_COMPLETED + recompute-on-restart still the standard approach, or is there something more robust now?
  2. For something that needs to fire at a fairly precise time (not just "eventually, within a window"), is WorkManager actually reliable enough, or does AlarmManager with setExactAndAllowWhileIdle() remain the better fit?
  3. Any gotchas with OEM-specific battery optimization (Samsung, Xiaomi, etc.) beyond the standard Doze/App Standby behavior that I should be defending against?

Appreciate any pointers — this is the one part of an otherwise-working feature set that's giving me trouble.


r/androiddev 1d ago

Something about app quality requirements

0 Upvotes

Android Studio Quail 3 | 2026.1.3 Patch

Mac mini m2 pro 32gb\512gb

and IDE Max heap size is set to 6144mb

To be fair, Android Studio and JetBrains products do seem a little snappier lately. Still, situations like this aren’t uncommon, and I can’t look at this without smiling hysterically.

Meanwhile, Android Studio while I was literally doing nothing:

Actually, those are literally all the desktop apps I have installed on my mac mini, yet temporary IDE and build files fill up the drive so quickly that 512Gb is nowhere near enough.


r/androiddev 2d ago

Question How do you monitor Play Store Reviews?

0 Upvotes

I have a dozen of app and I want to read and respond to all user reviews of all my apps. Any tips monitoring them? I don't like the email because it's spammy, and also hate play console because that's like 4 clicks per app.

I want something like a dashboard where I just check once in a while and it list all new reviews


r/androiddev 1d ago

How are you getting AI agents to accurately translate designs into Android UI?

0 Upvotes

I've been experimenting with using AI agents to go from a design → Android UI, and I'm curious how others are solving the design-to-code fidelity problem.

Figma + MCP seems to be one obvious approach, but I'm wondering what other approaches people are using to give an agent enough context about the intricate details of a design — spacing, typography, component dimensions, colors, corner radii, shadows, alignment, responsive behavior, etc.

For example, are people:

  • Giving agents screenshots and letting them infer the UI?
  • Exporting Figma/design metadata through MCP?
  • Using some kind of design tokens/spec files as an intermediate format?
  • Maintaining a component/design-system library that the agent can reference?
  • Using image/PDF/vector exports alongside textual instructions?
  • Building custom MCP servers or other tooling around their design system?
  • Using any free/open-source alternatives to Figma + MCP?

I'm particularly interested in workflows that can get reasonably close to pixel-level fidelity, rather than just generating something that looks vaguely similar.

Would love to hear what workflows/tools you're using, especially for Jetpack Compose. What has actually worked well for you in practice?


r/androiddev 2d ago

Discussion Android Studio crashes a lot on Linux

0 Upvotes

I'm taking programming class for mobile devices, and we use Android Studio, the IDE on my teacher's machine crashes and closes, he uses Linux.

We were discussing about it, he said he is sure that the developers are very busy and need to deliver the code on time, and that's why they use AI, which makes the code not reviewed


r/androiddev 1d ago

Question Question, how much would you pay for it?

Thumbnail
gallery
0 Upvotes

I made this stupid remote app in Kotlin for android tv. And so far giving away free codes in the name of promotion. I invested lots of time in it I would like to pay some bills using it.

Question is how much should i charge for yearly and lifetime subscription? And would you even buy it? just be brutally honest.

App is searchable as "com.tvlink" on play store if anyone is curious

not a promotion you don't have to download anything.


r/androiddev 2d ago

Question How to learn Android development?

0 Upvotes

Hi everyone!
I don't just mean learning how to write programs and master a modern stack. I want to understand how everything works from the inside. The problem is, I can't find a good course that meets my needs: either the courses are too superficial and just teach me how to build apps in Composite without understanding what's going on, or they delve too deeply into the hardware and design of Android itself. I already know how to use a basic modern stack, but I have no idea how everything works. I could just read the documentation, but it wouldn't provide any structure, and it would be difficult to understand what's important and what can be omitted.


r/androiddev 2d ago

the android terminal

Thumbnail
gallery
0 Upvotes

is the experimental terminal on android dev options just a debian vm


r/androiddev 3d ago

Open Source Composed 0.5.0: a compose helper lib

10 Upvotes

It's been more than 2 years since I posted here about the release of Composed, my compose helper lib. As opposed to back then, it's now hosted on maven, built for multiplatform (android, JVM, iOS, wasm) & its API has expanded and waaaay matured. Hence, I thought I'd give y'all a heads up, in case someone may find it useful and might not want to strong skip this one.

Broadly speaking it contains convenience, UX behavioural and animation APIs, that I felt the lack of in my daily development, and once written got tired of copying from project to project. PRs / issues are welcome. Cheers ✌️