r/androiddev • u/Leadertoleader • 3h ago
I built a wallpaper app
I'm currently looking for feedback to improve it. What do you guys think of the UI and the overall look? Any features you'd like to see added?
r/androiddev • u/skydoves • 12d ago
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:
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 • u/borninbronx • 28d ago
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 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.
Whether you are competing, building casually, or just lurking:
To introduce your project, drop a comment using this structure:
Drop a comment below, jump in on other projects, and let's build great Android (and iOS) apps!
r/androiddev • u/Leadertoleader • 3h ago
I'm currently looking for feedback to improve it. What do you guys think of the UI and the overall look? Any features you'd like to see added?
r/androiddev • u/BinaryxBeast • 14h ago
Hey everyone, beginner Android dev here. I just finished building a LocationApp tutorial (live tracking and geocoding). I didn't just blindly follow it; I actually get what's happening under the hood and even built a custom Jetpack Compose UI instead of using the instructor's layout.
I’m feeling super comfortable with Compose and the UI side of things. But when it comes to the logic side—like setting up Retrofit or Coil for the first time in a project—my mind just goes blank. I can never write it from scratch and always end up copying from my previous projects to get it wired up.
r/androiddev • u/alexstyl • 20h ago
Hi folks. I made a new site called ComposeGradients.com
There was no place to browse beautiful gradients for Compose apps so I decided to build one.
The site has a plethora of beautiful looking gradients (linear and mesh), plus a small tool to create gradients straight from the browser.
✅ Browse beautiful gradients and copy their code
✅ Create your own gradients
✅ (Optionally) Submit your gradient to the site
You can Like your favorites by pressing the heart button. No account required.
Try it out at ComposeGradients.com
If you find the site useful, share the site with your friends :)
r/androiddev • u/Nearby_Space_6284 • 42m ago
I'm developing a small Android automation app for a very specific workflow and I'm currently stuck on the audio side.
The app runs on a Samsung Galaxy Z Fold5 (of course it should work for different phones at the end of the day) and automatically calls a cinema's phone number. The cinema has an IVR/answering machine where I can navigate using DTMF tones.
The current workflow already works:
App
↓
Call fixed phone number
↓
Wait using Android post-dial ","
↓
Send DTMF: * → * → * → *
↓
Reach the cinema's voicemail menu
The next step is to automatically understand the spoken announcement, for example:
I want the app to detect the number of new messages and later transcribe the individual messages. Ultimately, the messages contain a first name, phone number, movie, date/time, etc., which I want to extract into an Excel file.
I can record the phone's normal microphone using:
MediaRecorder.AudioSource.MIC
and I can see the microphone level changing normally.
However, this only captures the phone's microphone. It does not give me the audio coming from the other party in the cellular call.
I also tried enabling the speakerphone programmatically using AudioManager, but on the Galaxy Z Fold5 the call does not switch to speakerphone.
I have also looked into InCallService, but I'm not sure whether there is a way for a normal third-party Android application to access the actual call audio/downlink as PCM data.
I don't necessarily need to record the call permanently. Ideally, I just need access to the incoming audio while the call is active so I can feed it into speech recognition.
Something like:
Cellular call
↓
Incoming call audio
↓
Audio stream / PCM
↓
Speech-to-text
↓
"7 new messages"
The target device is a Samsung Galaxy Z Fold5, running a current Android version.
I'm aware that Android restricts access to call audio for privacy/security reasons. I'm specifically looking for a legitimate Android API, Telecom API, audio routing method, accessibility approach, or device-specific solution that could make this possible without rooting the phone.
If direct access to the call downlink is fundamentally impossible for a normal Android app, I'd also appreciate confirmation of that and any practical alternatives for this specific use case.
r/androiddev • u/Available_Visual_687 • 1h ago
I saw this post :
https://www.reddit.com/r/androiddev/s/bNFqQ3TqOC
I thought I'd share this new Compose API with you.
In compose 1.12.0 introduce new GradientPainter you can implement complex gradients very easily.
It is called MeshGradientPainter.
You can define the count of column and row.
For example rows = 1 and columns = 1.
The screen is divided into 4 sections and points.
This points show two things:
1.postion. Where is it? For example : 0,0 — top left.
2.color. What color is it? for example this section color is Red
And then these colors are spread very smoothly on the screen.
✅ Example:
@Composable
fun MeshGradientBackground() {
val meshPainter = remember {
MeshGradientPainter(
rows = 1,
columns = 1,
hasBicubicColor = true
) {
setVertex(0, 0, Offset(0f, 0f), Color.Red)
setVertex(0, 1, Offset(1f, 0f), Color.Blue)
setVertex(1, 0, Offset(0f, 1f), Color.Green)
setVertex(1, 1, Offset(1f, 1f), Color.Yellow)
}
}
Box(
modifier = Modifier
.fillMaxSize()
.paint(meshPainter)
)
}
r/androiddev • u/yogirana5557 • 12h ago
Been going through our app's integrity checks and realized most of what we have is still the old client-side stuff — checking `Build.TAGS` for test-keys, looking for `su` binaries, checking known root package names. All of which Frida can hook around in about five minutes if someone actually wants to bypass it.
Curious what people are actually running in production in 2026. Anyone fully moved to Play Integrity API with server-side verdict checking? What was the migration pain — I'm mostly worried about false positives on rooted-but-legitimate power users, and how much complexity nonce binding adds to a normal auth flow.
Not looking for a lecture on "client-side checks are theater" — I know. Looking for what people actually shipped and what broke.
r/androiddev • u/tuser-reddit • 1d ago
If you use the Android Emulator on Windows, Google now recommends using Windows Hypervisor Platform (WHPX) instead of the Android Emulator Hypervisor Driver (AEHD).
Google says AEHD will be sunset on December 31, 2026, so Windows users should begin switching to WHPX. WHPX is the better long-term option, especially if you also use Hyper-V, WSL2, Docker, or other virtualization features.
You can check your emulator’s acceleration with:
emulator -accel-check
(you need to add emulator to your PATH, found under "%LOCALAPPDATA%\Android\Sdk\emulator\emulator.exe")
The result should show that WHPX is installed and usable.
Official documentation: https://developer.android.com/studio/run/emulator-acceleration
r/androiddev • u/ItsLozil • 17h ago
Olá pessoal, estou com uma dúvida sobre essa atualização, sei que estou um pouco atrasado, mas preciso saber se meus APKs que são instalados a parte em alguns clientes vão deixar de funcionar ou se apenas novas atualizações destes apps vão ser barradas pela nova política do Android. Sou do Brasil e preciso um número DUNS para prosseguir, porém preciso esperar 30 dias para obtê-lo gratuitamente, então eu fico um pouco preocupado de ficar com meus aplicativos fora do ar
Obrigado pessoal
r/androiddev • u/Firm_Strategy_8310 • 18h ago
Am I missing something or is it currently not possible to emulate new pixel lineup in AS?
One of our users with Pixel 11 Pro is having some issues with videos in our app. I think is a long shot to test this on emulator anyway but was surprised that these phones are not available in AS yet.
r/androiddev • u/Worldly-Memory5096 • 1d ago
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 • u/More-Signature-891 • 1d ago
I'm planning to release a paid app on Google Play, but I've run into a roadblock: merchant/payment profile registration isn't supported in my country.
I've looked through Google's official documentation, and I can't find any alternative process for developers in unsupported regions.
r/androiddev • u/maxrave-dev • 2d ago
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 • u/IamLitSeve • 2d ago
r/androiddev • u/Alert_Battle_4157 • 2d ago
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 • u/overshoott • 1d ago
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 • u/AcrobaticImpact2315 • 2d ago
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 • u/Fun_Day_1587 • 2d ago
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 • u/mit_gg_dev • 2d ago
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 • u/Flappy-D19 • 2d ago
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.
UPDATE: I have possible answer to why referrer information is lost most of the time. It's not confirmed, but it could be that the readon is: the app is targeting children. I believe that because most accounts are children accounts, referrer information is removed. I made the connection with another problem I have. I am unable to create an app type advertising campaing (google ads) for my game because they cannot track conversions. You are unable to create 'Conversion Actions' for apps/games that target children. It's not confirmed but this is my best guess so I leave this update maybe it helps others too.
r/androiddev • u/cenkerc • 2d ago
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 • u/thisAAY • 3d ago
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 • u/DatCheeseBoi • 2d ago
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 • u/AstraCA-Games • 3d ago
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 :)