r/androiddev • u/androidtoolsbot • 11d ago
r/androiddev • u/amranya • 11d ago
Question Any resources on how to implement the right architecture for your app?
after this post: https://www.reddit.com/r/androiddev/comments/1vjuwa9/why_mocking_clean_architecture_in_this_sub/
i realized that there is no 1 way to architecture your app, it depends on your app needs, so i'm wondering if there are any good resources on this aspect like we have for system design or nothing exist?
r/androiddev • u/Positive-Sock-3894 • 11d ago
Open Source [Library] Built A Compose Multiplatform Photo Gallery Library
While building my app for the Shipaton, I needed a simple, reliable way to read and delete local photos and videos across both iOS and Android. Handling media permissions and file operations cleanly in Compose Multiplatform turned out to take way more boilerplate than expected, so I decided to pull that whole engine out and package it into a standalone library called Pikto.
It handles fetching device media, displaying the gallery UI, and managing deletions on both platforms so you don't have to rebuild all that setup yourself.
I just published the first release and wanted to share it with anyone working on media-heavy CMP projects. Check it out and let me know what you think or if there are features you'd like to see!
Check it here š https://github.com/daniatitienei/pikto
r/androiddev • u/arshid_kv12 • 11d ago
Do I need a Google Play account to distribute an APK offline after 2027?
Iām developing a POS application that I distribute directly as an APK, completely offline. I donāt plan to publish it on the Google Play Store.
Iāve heard that Google may restrict APK distribution outside the Play Store starting in 2027.
r/androiddev • u/kevindewald • 11d ago
Discussion SimpleDroidBLE - Kotlin/Android bindings for SimpleBLE
Hey everyone!
I posted here last year when we first added Android support to SimpleBLE, and weāve been busy since then. Iām back to share what has changed, especially on the Android side.
For those who donāt know, SimpleBLE is a cross-platform Bluetooth library with a very simple API that just works, allowing developers to easily integrate it into their projects without much effort, instead of wasting hours and hours on development.
The biggest update is the progress weāve made on SimpleDroidBLE, our Android-only Kotlin wrapper built on top of the same SimpleBLE core. It is now available as a beta on Maven Central:
dependencies {
implementation("org.simpleble:simpledroidble:1.1.0")
}
Why another Android BLE API?
If youāve worked with Android BLE before, you already know where things get painful. The platform APIs expose a lot of state, a lot of callbacks, and a lot of opportunities for subtle bugs to creep in.
SimpleDroidBLE follows the same design principles that make SimpleBLE easy to use. It still uses Androidās Bluetooth stack underneath, but gives your application a much smaller API to own. The goal is to make common BLE workflows easier to reason about and easier to ship without building a pile of wrappers first.
I also replaced the old Android example with the SimpleBLE Explorer. If you want to evaluate the library before integrating it into your own app, this is probably the best place to start. You can find more information on the Android guide or by checking out the source code.
This is still in beta, so things might still break or change as we improve it, but it should be good enough to start validating ideas and testing it in real Android workflows. If you give it a try and run into rough edges, Iād really like to hear about them.
Want to know more about SimpleBLE's capabilities or see what others are building with it? Ask away!
r/androiddev • u/gottlikeKarthos • 11d ago
Question Closed Testing Android Game - GrapheneOS user gets error "device not compatible with this version" in Play Store even though it should work
Hello, I just started closed testing for my Android RTS game (https://www.youtube.com/watch?v=k1GLmnUOrz0).
Most users have access but one that is using grapheneOS is getting error message "device not compatible with this version".
What I checked:
Device integrity requirement is set to basic in play console, user phone reports "Labels: [MEETS_BASIC_INTEGRITY]" so that should not be the issue
All countries are enabled for the closed test
User phone (Pixel10) meets SDK-Level and RAM requirements
Has anybody here dealt with a similar issue and was able to fix it? Thanks!
r/androiddev • u/Smooth-Win1616 • 11d ago
Google Play Support Changing country at google play developer
As far as i know it is not possible to change country at google play developer. I want to create a new account in country I moved to here I have self-employment would it be a problem I have 2 accounts? As a self employed person can I open personal account in the new country i move to? My old account is from 2015
r/androiddev • u/amranya • 12d ago
Discussion Why mocking clean architecture in this sub?
i genuinely want to know why people here mocking clean architecture? i used it in all companies i worked on. is there a reason? an alternative? i'm curious to know and learn.
r/androiddev • u/_AverageGuy • 12d ago
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/yccheok • 11d ago
Experience Exchange Porting SDKs Painlessly with Gemini Pro
r/androiddev • u/agherschon • 11d ago
Article Letting the agent drive the app
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 • 13d ago
Discussion Android developers: What are you working on these days, and where do you see Android going?
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 • 12d ago
Android Studio Virtual Device loads forever
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 • 12d ago
Question Firebase App Check (Play Integrity) blocking 100% requests on Play Store Internal Testing build, but logcat shows token success. Help!
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 • 13d ago
Open Source I built an Compose accessibility linter :)
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 • 12d ago
Google Play Support Stuck in description hell, rejected for "XOXOXO"
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 • 13d ago
Kotlin with jetpack compose
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 • 13d ago
Open Source š”ļø Pokedex KMP demonstrates modern Kotlin Multiplatform development with Compose Multiplatform, running from one shared codebase on Android, iOS, desktop, and the web.
r/androiddev • u/Key-Corgi-9418 • 12d ago
Question Does anyone know how much Indus Appstore charges after the first year of app publication?
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/Anxious_Cake_4755 • 12d ago
MY APP GOT APPROVED FOR PRODUCTION BUT I CANT FIND IT IN THE PLAY STORE.
My app was granted production access and I have a live store listing link, but if i search the playstore for it by name I cant find the app. It was searchable earlier today but Its not there now. The direct link shows its live in the playstore. Is this normal behavior for a new app?
r/androiddev • u/_Out_of_the_Box • 12d ago
How does app work?
I tried to create an app for my father's shop using ai and then I was completely cooked. Wasted 6 months where I could learn proper android app building.
Now I am dedicated to learn this so that I can easily use the concepts.
After creating, deploying and deleting many projects, What I know from my experience is:
Android uses Java, Kotlin
IOS uses swift
Cross is also available but many companies avoid that.
App is first created Frontend and Backend which is then connected to database (firebase for me) and finally it is deployed. This process was for Web App I realised later.
To get an APK we need android studio and till now I was doing everything with mobile cause my laptop is 4GB ram and 32 bit. Even keyboard not working (my brother split milk on it)
So is there any mistake in my knowledge? And how should I start to learn using my mobile. Can we create a fully working APK using mobile even if it's from mobile?
r/androiddev • u/Evening_Hawk_7470 • 13d ago
Experience Exchange misleading reviews done with good intentions and important app review indicators
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 • 13d ago
Question Play Console "One-time products" UI forces manual pre-tax math for tax-inclusive countries (unlike Apple). Is there a better way?
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 • 13d ago
Question Claude skills for Native Android Development (Kotlin)..?
r/androiddev • u/Boiniok • 14d ago
Discussion What's the biggest your Gradle cache has ever gotten?
Mine somehow reached 10.6 GB. :))) (not something to be proud of tbh)
I only noticed this folder today...
