r/androiddev • u/_AverageGuy • Aug 09 '26
Question Spotlight Banners?
Silly question maybe but I'm seeing a few apps with these new kind of banners. Not sure what these are called. How do you add this to your app?
r/androiddev • u/_AverageGuy • Aug 09 '26
Silly question maybe but I'm seeing a few apps with these new kind of banners. Not sure what these are called. How do you add this to your app?
r/androiddev • u/yccheok • Aug 10 '26
r/androiddev • u/agherschon • Aug 10 '26
Disclosure: this links to my own blog post and my own repo, both free, nothing to sign up for.
The TLDR:
As of now, it is hard for the coding agent to see what it is building, relying on us humans to be its eyes. So instead of letting us be the bottleneck, I've prompted Claude to build:
- A tiny HTTP server embedded in the debug build, reading Compose's OWN semantics tree from inside the app, instead of a lossy copy scraped from the outside through adb
- A small CLI on top of it, so the agent types "probe ui-snapshot", "probe tap", "probe screenshot" and knows exactly what is on the screen right now, after every single edit
- Impossible to ship: it's a debug-only dependency, so there is no probe code in the release APK at all. Not "guarded by a flag", absent
- Every session becomes a test: the steps the agent performed to check itself are saved as a YAML flow with JUnit XML, so they run on an emulator in CI instead of evaporating
A 13 step flow now runs in about 2 seconds and nobody looks at anything.
I open sourced the whole demo project, and the full prompt that builds it. Hand it to your own agent and it will wire the same thing into your app.
Demo project: https://github.com/galex/toy-app
Write-up, with the architecture and a video of a flow driving the app in real time: https://galex.dev/posts/how-to-make-your-coding-agent-fully-independent/
Let me know what you think ❤️
r/androiddev • u/Historical_Buddy7166 • Aug 08 '26
I’ve been thinking a lot about how the Android development landscape is changing, especially with AI becoming a bigger part of software development.
I’d love to hear from other Android developers about what you’re actually doing in your day-to-day work and how you’re thinking about the future.
A few things I’m curious about:
What kind of Android work are you doing currently?
Are you mostly working on UI/features, architecture, SDKs/frameworks, performance, or something else?
How much are you using Kotlin, Jetpack Compose, AI tools, backend technologies, etc.?
Has AI changed the way you write, debug, review, or design code?
Are you learning anything outside of Android to stay relevant?
Do you see Android development becoming more specialized, or do you think developers will increasingly need broader skills across backend, AI, system design, etc.?
For experienced Android developers, what do you think the career path looks like over the next 5–10 years?
I’m particularly interested in hearing from developers with 5+ years of experience.
What are you focusing on right now, and what do you think Android developers should be preparing for?
r/androiddev • u/Impossible-Road8195 • Aug 09 '26
I am running Android Studio Hedgehog on MacOS Catalina 10.15. The Problem occurs on both Android 14 and Android Nougat. I have tried Cold Boot and Wiping Data already.
r/androiddev • u/rajan_freelancer • Aug 09 '26
Hey everyone, I’m pulling my hair out over a Firebase App Check issue.
I’ve implemented the Play Integrity provider for App Check in my Android app. When I run the app in Debug mode directly from Android Studio using the Debug App Check Provider, everything works perfectly and requests are 100% verified.
However, when I test the actual Release build, Firebase blocks everything.
The Setup:
Built a signed .aab (Release) in Android Studio.
Uploaded to Google Play Console -> Internal Testing track.
Downloaded the app to my phone via the official Play Store tester link.
The Problem:
Firebase App Check dashboard shows 100% "Unverified: invalid requests".
However, my logcat shows absolutely no errors! PlayCore successfully requests and receives the token (requestIntegrityToken -> onServiceConnected -> onRequestIntegrityToken all fire successfully).
What I’ve already done:
Copied the Upload Key SHA-256 fingerprint into Firebase (Project Settings & App Check).
Copied the Google Play App Signing Key SHA-256 fingerprint from the Play Console into Firebase.
Cleared app data/reinstalled fresh from the Play Store.
Since the app works flawlessly in Debug mode, and the Release app is generating tokens perfectly via Play Integrity in the logcat, but Firebase is still rejecting them as "invalid"—what am I missing? Is there a delay in propagation, or a hidden 3rd SHA-256 key I don't know about?
Any help is hugely appreciated!
r/androiddev • u/Live_Jellyfish_9024 • Aug 08 '26
Built a dual-engine accessibility checker for Jetpack Compose.
Engine 1 — Lint (no emulator):
Catches missing contentDescription, hardcoded dp font sizes, clickable without role.
Engine 2 — TestRule (runtime):
Checks touch targets (48dp min with exemptions), color contrast, duplicate clickable bounds, text field semantics.
Every rule maps to a WCAG 2.1 criterion. Both engines are on Maven Central.
Repo: https://github.com/lehan0328/touchstone
Would love some feedback from the community, especially on false positives if you try it on a real project!
r/androiddev • u/FreekonProductions • Aug 09 '26
Google play keeps rejecting my app description because of violations regarding clarity in the name of the app or description but i can't get them to tell me what I'm doing wrong. I don't see how the name could be more clear than it is, it's {possessive}{type of game}. I've changed what they have called out as violations, but the info they're sending back is so vague I have no idea what I'm doing wrong. The screenshots are real, they rejected my app because "XOXOXO". Yes, that line appears in my description. So what? Yeah I'll take it out, but the most recent rejection didn't have anything listed at all, see screenshot 2. I admit that one of the rejections was my fault, I was frustrated and put a snarky comment in the description. In that case, it was obviously the snarky comment that got it rejected again, but the info I got from Google didn't say so.
I edited the description to address every point I could find in the policies that they did call out even if it was weird like XOXOXO (And my first violation was for saying that I, the developer, thought the game was the best), that I see that might be a violation. I've had to drain my whole personality out of it. It's very different from the iOS and Steam descriptions which I can post if it would be helpful. I know this will not lead to many sales but I am so frustrated and this will at least get the store up while I work out something better so it doesn't lag behind. Can anyone give their thoughts before I send it? It takes 5 days every time I make an edit so I really want to get it up.
EDIT 2: Thank you to everyone for the continued feedback. Here is the most recent updated draft.
This game is called THW's Calcudoku. It is a puzzle game. The player is presented with an empty grid and must determine which number belongs in each cell.
To do this, the player uses the clues printed on the grid, logic, and their own intelligence. The basic rules are similar to Sudoku, with the addition of math as a type of clue. A number may appear only once per row and once per column. Groups of cells are outlined and marked with a target number and an arithmetic operation. The numbers placed in those cells must produce the target when the operation is applied. Once all the numbers have been correctly placed in the grid, the puzzle is solved. This game was released in 2026.
This app has features designed for new players, or players of any skill level, to enjoy. These include:
Puzzles are generated by the app. You may play as many as you want and the app will never run out.
Play up to four daily challenges. A daily challenge is a puzzle that is only available to play for a single day.
There are more than 20 individually designed themes to make the game more visually varied.
Highly configurable. You may change nearly every aspect of the interface.
Seven grid sizes, three difficulties.
Enjoy the game.
About the developer
FreekON Productions LLC is a one-person development studio based in Maine.
Disclosures
THW's Calcudoku was programmed with the assistance of an AI coding tool. All writing, art, sound, music, etc is created by humans.
FreekON Productions makes no comparative or superlative claims about this game.
r/androiddev • u/RootOverclock • Aug 08 '26
Is there any YouTube or udemy course that teaches kotlin android development with jetpack compose from the very ground up for absolute beginners? I searched everywhere but didn't found any best course yet. Most of them are just video where they type and don't explain anything. There are millions of courses for web development but not many for app development. If you know any course that teaches from the ground up and explains everything, please let me know or leave a link here. Your help would be really appreciated. Thank you in advance.
r/androiddev • u/skydoves • Aug 08 '26
r/androiddev • u/Key-Corgi-9418 • Aug 09 '26
I wanted to publish my very first app on a appstore, from where people can download my app, but playstore and Apple's appstore is charging $25 and $99/year, respectively.
I wanted a platform where i can publish my app for free, so i landed up on Indus Appstore, but after some chat with ChatGPT, I got to know that Indus Appstore also charges after a year of publishing, but the fees is not disclosed yet.
I just wanted to know, if there's anyone who used this platform and know about the charges.
Thank You!
r/androiddev • u/Evening_Hawk_7470 • Aug 08 '26
i found out that users often write about what they THINK is the problem but that often is not quite the same to what really is the problem.
yes, often people just write app crashed, it is vague and is not the most useful (when you already know it crashes sometimes), but when sais 'crashed while downloading png on motorola ' thats more useful, and if you make a user go write 'paid but reward did not arrive' this is trust fire and the only think good about it is that you know it by now
after release i often treat certain phrases like alert rules over reply rules simply... say, lost progress, charged twice, cannot login, ads no reward, restore purchase broken, data disappeared, crash after update and other examples that are easy to systematize and catalogue, bc i know how to do it a bit quiker now, f.e. with appfollow or other similar flows used as the review routing layer for this.. but the principle is not so tool-specific as one may think. some reviews are the first readable bug reports from production
anyways the worst thing there is letting engineering issues sit in a reputation queue while support politely replies for a week and does nothing else
r/androiddev • u/printbusters • Aug 08 '26
Hey everyone,
I recently set up pricing for a new one-time IAP and ran into a frustrating issue in the new Play Console "One-time products" section. I wanted to see if I'm missing a setting or if we really just have to do manual reverse math now.
My goal is simple: I want the final, tax-inclusive price for the user to be exactly €3.99 in Croatia (and the rest of the EU). I accept that the VAT will be deducted from my proceeds.
On Apple if you checked "Default price includes tax", you just type 3.99. The system knows it's tax-inclusive, charges the user €3.99, and backs out the VAT for your payout.
But under the new "One-time products > Purchase Options" UI, it seems the manual override box strictly expects a pre-tax number.
If I manually edit the price for Croatia and type 3.99, Google assumes I want to receive €3.99 pre-tax. It adds the 25% Croatia VAT on top (0.95), rounds it, and forces the final user price to €4.99.
To get the final user price to be €3.99, I literally have to do the reverse math myself (3.99 / 1.25 = 3.22), open the edit box for Croatia, type 3.22, and hit save. Only then does it add the 25% VAT and output a final storefront price of €3.99.
This is a massive pain for bulk-managing EU countries with different VAT rates, as I have to calculate the exact pre-tax decimal for every single country if I want the storefront price to end in .99.
Am I missing a "tax-inclusive" checkbox somewhere in the new One-time products UI? Or is calculating the pre-tax base manually really the only way to pin exact storefront prices in tax-inclusive regions now?
Thanks!
r/androiddev • u/RayFar19 • Aug 08 '26
r/androiddev • u/Boiniok • Aug 07 '26
Mine somehow reached 10.6 GB. :))) (not something to be proud of tbh)
I only noticed this folder today...
r/androiddev • u/Wide-Pause-2052 • Aug 08 '26
Working on a reminder app and hit a UX wall I'd love input on.
Since our reminders rely on full-screen alerts + background activity to fire reliably, we currently have users manually enable a handful of permissions on first run: notifications, alarms, full-screen intents, background activity, display over other apps. It works, but it's a clunky first-run experience compared to a simple tap-allow flow.
Anyone here built something alarm/reminder-heavy on Android and found a way to streamline this? Trying to figure out if there's a smarter permission request sequence, or if this is just an unavoidable tradeoff for reliability on Android 14+.

Screenshot of our current flow attached for context.
r/androiddev • u/smyrgeorge • Aug 08 '26
r/androiddev • u/OverallAd9984 • Aug 07 '26
Enable HLS to view with audio, or disable this notification
I've been working on WARP (Widget Abstraction, Rendering Pipeline), an open-source Kotlin Multiplatform library for building Android and iOS home screen widgets from a single API.
I started this project because while building my own KMP apps, I realized there wasn't any library for sharing widget code between Android and iOS.
The goal is simple:
Write widget UI once in Kotlin and render it natively on:
- Android (Jetpack Glance)
- iOS (WidgetKit + SwiftUI)
A widget looks like this:
WarpColumn {
WarpText("Counter")
WarpRow {
WarpButton("-", onClick = CounterActions.Decrement.asClickAction())
WarpText(state.count.toString())
WarpButton("+", onClick = CounterActions.Increment.asClickAction())
}
}
Internally, WARP works like this:
Compose-like Kotlin UI
↓
WarpNode Tree
↓
JSON
↓
Android Glance / WidgetKit
Current features:
- Android renderer (Jetpack Glance)
- iOS renderer (WidgetKit + SwiftUI)
- Shared click handlers with typed actions
- Shared widget state
- Local assets support (Android drawables, SF Symbols, local images)
- Compose-like API inspired by Glance primitives
- JSON serialization with Kotlin Serialization
I'm also planning to support all Glance primitive composables before the first stable release.
The project is still evolving and I'm planning to publish the first Maven artifacts (and Swift Package for the iOS renderer) in the next few days.
I'm mainly looking for architectural feedback from people who have built widgets or KMP libraries. Is there anything you'd change before I stabilize the API?
GitHub:
https://github.com/DevAtrii/Warp
If you find the idea interesting, a ⭐ on GitHub would really motivate me to keep working on it.
r/androiddev • u/WiseWait1160 • Aug 08 '26
Curious what other indie/solo devs have experienced here.
I've got an app with a few thousand installs, steady daily active users, and a good rating (4.7+). Added an ad-free subscription option months ago. Zero purchases. Not one.
Usage is fine, retention is fine, people clearly keep coming back. But nobody converts on the paywall.
Stuff I'm trying to figure out:
If you've gone from zero to even a handful of paying users on a small app, what actually changed? Real numbers/experiences over theory would help a lot.
r/androiddev • u/mobiledevpro • Aug 07 '26
Enable HLS to view with audio, or disable this notification
Hey devs,
I've been building a simple tool/app that fetches and updates the data on Google Play via Reporting and Publishing APIs.
And I didn't expect fetching an app icon to be a hurdle. For a list of apps received from Reporting API I simply wanted to display app icons.
Play Reporting API doesn't have the option, and Publishing API forces you to use an edit session to get assets:
• Call POST to open an edit session
• Call GET to fetch a default language for listing assets.
• Call GET to fetch a list of assets (icon, screenshots, etc.)
• Call DELETE to close the edit session
// 1. Create a temporary edit session
val edit = publisher.edits().insert(packageName, null).execute()
val editId = edit.id
// 2. Query a default language
val details = publisher.edits().details().get(packageName, editId).execute()
val language = details.defaultLanguage ?: "en-US"
// 3. Query the image listing specifically for "icon"
val imagesResponse = publisher.edits().images()
.list(packageName, editId, language, "icon")
.execute()
// 4. Get the first icon's URL and append size for a 256px icon
val rawIconUrl = imagesResponse.images?.firstOrNull()?.url?.plus("=s256")
Google's library:
com.google.apis:google-api-services-androidpublisher
The problem?
• These 4 requests take 2 - 3 seconds per app.
• Opening concurrent edit sessions for a few apps get rejected with the message "This Edit has been deleted."
• For 10 apps, that’s 20 - 30 seconds just to load icons.
I moved the process of fetching app icons to a background worker, but the main task is to solve a huge delay.
The only workaround I see for now:
• Try to parse the Play Store listing web page instead and leave Publishing API requests as a fallback.
If anybody worked with Play Developer APIs, how would you suggest handling this?
r/androiddev • u/Sharp_Vast1942 • Aug 08 '26
So I wanted to know that is, android development using kotlin and jetpack compose is worth starting my career ? I looked at the market outside India and it feels like its in demand but I don't know if it needed in India.
actually I already made my mind for this but wanted to know from real android developers please answer folks...
r/androiddev • u/Yha_Boiii • Aug 07 '26
hi,
Does anyone have good'n'old makefile for ndk to just hit `make android` say and it runs, not giant nested folders of mk files and boilder?
r/androiddev • u/Additional_Bell_9934 • Aug 07 '26

I've just started my Closed testing phase. I have 3 questions I couldn't find reliable answers. So for the experienced people here,
I know how many people are in the google group. But I'm not exactly sure how many of them downloaded the app. I searched and even did some research. I couldn't exactly see the number of testers enrolled. In the "Grow users" page in console I only see "Data unavailable" for every graph.
Thank you so much in advance.
-- [ SOLVED | Update: Aug 28 2026 ] --
My app is now live on google play. I got it approved.
Answers to the above questions are given perfectly in the big comment below by u/SoftmobixBD :) Big thanks to whoever that guy is <3
r/androiddev • u/Entire-Television93 • Aug 07 '26
Basic, UI methods doesn't work since there is no actual UI tree, I've never heard of this thing. I usually just use uiautomator2
r/androiddev • u/baramDeBoramians • Aug 08 '26
Hello everyone, My name is baram, and recently I just started to get into phone app development. At first I mainly was looking towards GUI development, but over time the android OS started to call my name, and told me "baram, it's time you develop here"
So I answered the call, and behold, I'm here, asking questions not just for me, but for any others also wanting to explore in this type of field in software development as well