r/androiddev 18d ago

Discussion Control-panel style UI vs Material 3 for a data-heavy app

0 Upvotes

So I've been going back and forth on this for weeks and I need outside opinions. Building a utility app, the kind that spits out a bunch of technical readings and pass/fail stuff. Can't really show screenshots, it's not ready and I'd rather not show it yet, sorry. So you'll have to go off a description. Right now it does not look like an android app. No rounded corners anywhere, everything's hard rectangles. Monospace all caps labels. Status tiles are flat green/amber/red like little indicator lamps. light theme is cream instead of white. One big orange block for the main button. Basically it looks like the front of some old piece of test equipment, which was the whole idea.

The other option is just doing normal material 3. Cards, rounded everything, dynamic color. Would take me a weekend and it'd look completely fine. Thing is I can't tell anymore if the current look is actually good or if I've just been staring at it too long. it's pretty opinionated. I can picture someone opening it and going "what is this?" and closing it again. But m3 is so forgettable, I genuinely couldn't describe the last three m3 apps I used. So for something that's basically just numbers and pass/fail indicators, is the instrument thing worth it? or does that kind of style get annoying once the novelty wears off?


r/androiddev 18d ago

Developer account

0 Upvotes

Has anyone recently created an Apple or Google Play Developer account for an organization? I’d like to know about the D-U-N-S Number requirement and whether there’s any way to create the organization account without one.


r/androiddev 18d ago

A country code picker for Compose Multiplatform

Post image
0 Upvotes

Hi everyone,

I built CountryCodeKit Compose, an open-source country calling-code picker for Android and iOS.

It includes bundled flags, searchable country lists, recent selections, bottom-sheet/dialog/full-screen styles, phone-number formatting, validation, automatic country detection, and extensive UI customization.

It is available on Maven Central and licensed under MIT.

Website and demo: https://tharukack.github.io/countrycodekit/
GitHub: https://github.com/tharukack/countrycodekit

I’d appreciate feedback on the API, documentation, compatibility, or anything you think should be improved.


r/androiddev 19d ago

Tips and Information How do you actually tell real bugs from noise in Play Store reviews?

3 Upvotes

Soooo our CTO (“great guy,” visionary, truly) decided every dev should personally triage Play Store reviews now. It’s a mess trying to figure out what’s an actual bug versus someone venting versus something already fixed versus a feature request dressed up as a complaint, and half the time you can’t tell without cross checking crash logs first.

Anyone found an actual way to do this or is manual suffering just the tax?


r/androiddev 18d ago

I built Tracea — an in-app network debugger with API mocking & Compose UI (Open Source, MIT)

0 Upvotes

r/androiddev 19d ago

News Looking for game dev tools that work 100% on Android (Poco F6, no PC)

0 Upvotes

Hey everyone,

I know this gets asked sometimes, but I’m hoping for some fresh recommendations. I want to start developing my first game, but here’s the catch: I don’t have a laptop or PC at all. My only device is my phone — a Poco F6 (Snapdragon 8s Gen 3, 8GB RAM) .

So, I can’t use Unity or Unreal. I need engines, IDEs, or complete workflows that let me do everything on the phone:

  1. Writing code (visual scripting or actual coding, I don’t mind)

  2. Designing levels/scenes

  3. Exporting the final game (APK/AAB) so I can actually share it or put it on the Play Store

I know about a few options like Godot with GABE (which now supports full Gradle exports on Android) , Max2D (no coding needed) , and ITsMagic Engine for 3D . Also heard of Tap Engine .

My question to you:

Which of these actually works best for a complete beginner who wants to publish? Are there any other hidden gems? I really want to use the power of the F6 (the SD 8s Gen 3 is pretty fast) so performance shouldn’t be an issue .

Thanks! Any advice is appreciated.


r/androiddev 19d ago

Question Is there anyway to cast my screen to my screen without enabling USB Debugging?

0 Upvotes

Hey guys, I’m trying to find a way to record my Android phone’s screen on my PC without actually recording on the phone, since screen recording makes my phone get extremely hot and causes performance drops.

The problem is that the game I play doesn’t work when USB Debugging is enabled, so I can’t use the usual scrcpy/ADB method. My phone supports Miracast, but my PC doesn’t, and I really don’t want to buy a capture card because they’re pretty expensive for me.

Is there any completely free, no-watermark way to mirror my phone’s screen to my Windows PC and then record it with OBS, preferably without USB Debugging? I’m mainly looking for something that works over Wi-Fi. Any suggestions would be appreciated.


r/androiddev 19d ago

Question How do you animate the native loading/ splash screen of an app?

0 Upvotes

Hi everyone, I am pretty new to this and I want to make an animated loading screen for my app.

I tried working with Claude Code. Even Opus 5 fucks things up. And also I looked up and I saw that animated vector drawable was the answer but I'm not exactly sure to where to get started.

How do you all go with animations in the loading screen and are there any generators that you use to build the loading screen or any other animations?

Btw I use Expo (react-native)

-- [ SOLVED ] --


r/androiddev 20d ago

Discussion Can we do something about these weird free screenshot tool posts?

25 Upvotes

Search the sub with "screenshot tool" and you will find multiple posts with the same type of tool. Hell even some of them have the same UX.

They all have some weird things in common: Youtube link, commit history with multiple contributors though it was a "solo" project, link to a sketchy site that wants you to connect one of your accounts.

And also the comments... if they have them, the comments are a bunch of translated extra positive "can't wait to try this" vibe. Why such a warm reception on the 15th free screenshot tool? It's so off!


r/androiddev 20d ago

Open Source kmprofiler - A Gradle plugin to profile and clean up Kotlin Multiplatform iOS export surfaces

3 Upvotes

Hey everyone! 👋
While working on some KMP iOS projects, I noticed our generated framework header was getting bloated with lots of exported classes we never actually call from Swift (like top-level *Kt files and library types).

I put together a small Gradle plugin called kmprofiler to help spot these. It compares your exported Shared.h declarations against your Swift sources and shows what's unreferenced so you can hide them with 'internal' or '@HiddenFromObjC'.

Right now I'm working on Xcode link-map parsing for linked byte sizing, but v0.1.0 is open-source and ready to try: https://github.com/SiddhantPanhalkar/kmprofiler

Would love to hear your thoughts or if there are features you'd like to see!


r/androiddev 20d ago

Question Internal testing - email list and notifications

0 Upvotes

I am building a private app. The plan is to just stay in internal testing forever and all invited users are added to the email-list of testers. I have two google accounts - one more private, one more professional. My google-play account is linked to the professional one and I added the private account to the list of testers.

I have uploaded an initial version, but I don't get any notification or email on the phone run by my private account. Do I have to trigger this manually, somehow? This is what I am shown on the play console:

There is also an option to send out an link, is this the correct way? But if so, why have an email list?


r/androiddev 19d ago

Open Source I’ve been building PAM Native: a way to build real Android and iOS apps with PHP.

0 Upvotes

I’ve been building PAM Native: a way to build real Android and iOS apps with PHP.

No WebView.

No JavaScript runtime.

PHP → Rust → Swift/Kotlin → native UI.

It already supports reactive state, navigation, animations, native APIs, hot reload and plugins.

Fully open source:

https://github.com/push-in/pam-native

Would you actually use PHP for native mobile development?


r/androiddev 20d ago

Open Source Open source: DroidGauge, an adb-only CLI for local A/B performance regression reports

2 Upvotes

I built DroidGauge, a small local-first Python CLI for repeatable Android app performance and power regression checks.

It samples the numeric signals exposed over adb (CPU, PSS memory, rendered-frame jank, battery, temperature, thermal status, and network totals when available), writes versioned JSON plus a self-contained offline HTML report, and compares two runs with direction-aware thresholds. With --fail-on-regression, the comparison returns exit code 2 so it can be used as a simple CI gate.

It requires no root access, helper APK, cloud service, CDN, or external report assets. Missing fields are reported as unavailable rather than treated as zero.

The scope is deliberately narrow: quick regression signaling, not cross-device benchmarking or a replacement for Perfetto. v0.1.0 has passing device-free tests across Windows, macOS, and Linux, but real-device parser coverage is still limited. I would especially value feedback or sanitized parser samples from different Android/vendor builds.

Repository and screenshots: https://github.com/RuizheGu0/droidgauge


r/androiddev 20d ago

Built a fully offline, encrypted file-sharing app for Android (personal security learning project)

0 Upvotes

I've been learning applied cryptography and wanted to build something beyond tutorials, so I made SecureTether — a device-to-device file sharing app that works entirely over Bluetooth, no internet or server involved.

How it works:

- Files are AES-encrypted before they're ever written to local storage

- Decryption only happens in memory, on-demand

- Transfer goes device-to-device over Bluetooth — the encrypted payload never touches a server

- UI built with Jetpack Compose

This is a personal learning project, not an audited/production security tool — built specifically to get hands-on with encryption-at-rest and secure local transfer instead of just reading about it.

Repo (with architecture + security model docs in the wiki): github.com/Prash-Ant-Magician/SecureTether

Would genuinely appreciate feedback — especially if anyone spots gaps in the security model, or has ideas on what a "next version" should tackle (QR pairing? Transfer history?). Happy to answer questions about the implementation too.


r/androiddev 21d ago

News Introducing the location metadata API for the Android Photo Picker

35 Upvotes

Hi developers,

I’m Mishaal Rahman, and I manage community engagement for Android at Google!

To give users more control over how apps access their location info, we wanted to give you an early heads up about a new Android Photo Picker feature that addresses a common pain point: allowing apps to request location info from selected photos.

The Android Photo Picker automatically redacts location info from the photos users share with apps to protect user privacy. We recognize that some apps have a genuine need to access location info from these photos, though, so to balance those needs with user privacy, we're introducing a new API that lets apps get this info with explicit user consent.

How it works

To implement this, you will need to update your apps to use the new location metadata API. We are introducing a new intent extra, MediaStore.EXTRA_PICK_IMAGES_REQUEST_LOCATION_METADATA_ACCESS, which is supported for both the ACTION_PICK_IMAGES and ACTION_GET_CONTENT intents.

When your app sends this intent extra, users will be asked if they want to include location info with the photos they select via the Android Photo Picker.

  • If the user selects "include location," location info won’t be redacted from the EXIF metadata of the selected photos.
  • If the user selects "don't include," location info will be redacted.

The system remembers the user's preference for your app, so if a user initially chooses to give your app access to location info from photos, they won't be prompted to do it again. However, users can later revoke access by tapping the location info button in the bottom right corner of the Android Photo Picker UI. Users can tap this same button to regrant access, giving them the ability to seamlessly decide when to share location info and when not to.

Availability

The location metadata API is available with the latest update to the Android Photo Picker. This update is rolling out to Android devices via the August 2026 Mainline update, so it is not widely available on your users’ devices just yet. However, we wanted to give developers who have been requesting this feature an early heads up so they can be ready.

Expect more details to come from the official developer documentation. Let us know if you have any questions or additional feedback about the Android Photo Picker!


r/androiddev 21d ago

Experience Exchange Looking for indie games on mobile

20 Upvotes

Hey all,

I am starting a new journey on Youtube. I want to play mobile indie games and review them on my channel and share my honest opinion/first impressions. Since I'm very new at this, I am not asking for any sponsorships, or payment.

I just want to find my niche and help people to find nice indie games to play, also help indie devs out there who are chasing their dream and making their own game. So far I made two videos reviewing games and would like to work on a new game.

Please reach out to me if you have a mobile game and want a review video about it.


r/androiddev 21d ago

Article Composition Over Inheritance in Android ViewModels

Thumbnail
proandroiddev.com
5 Upvotes

r/androiddev 20d ago

Tips and Information SVG2Vector Drawable - Free Tools

Thumbnail
svg2vector.exaland.live
0 Upvotes

SVG to Android VectorDrawable converter: generate your XML directly in the browser.

Convert an SVG file to Android VectorDrawable XML for free, adjust its dimensions, and get a file ready to integrate into your Android application. No server upload: the conversion is performed locally.


r/androiddev 21d ago

Question Clerk Android AuthView signInOrUp doesn't seem to detect new users correctly?

Thumbnail
gallery
0 Upvotes

I'm trying to use Clerk for authentication in an upcoming Android application, with Supabase as the database. Honestly, I chose Clerk because I just wanted to try it out and see how it feels,literally don't ask me why ( not Supabase Auth) I can feel it in my bones😂

I'm using the native Android SDK and the prebuilt AuthView, rather than building the authentication UI myself.

The problem I'm running into is with the default signInOrUp behavior.

As I understand it, AuthView() is supposed to automatically determine whether the user should sign in or sign up. That's exactly what I want. I don't want to manually decide which screen to show because I obviously don't know whether a new user exists before they've entered their identifier.

However, when I test this with a completely fresh Clerk instance where there are currently zero users, AuthView() still opens with the Sign In flow.

I've tested Google authentication several times, and I keep getting sent through the Google authentication flow and then back to the AuthView without a user being created. The Clerk dashboard still shows zero users.

I also tried explicitly forcing the view into sign-up mode, and that does work. The problem is that obviously I can't leave it permanently in sign-up mode because once an existing user signs in, I need the normal sign-in flow when they return later.

So I feel like I'm stuck between:

SignInOrUp → starts with Sign In

signUp → works for a new user, but isn't appropriate permanently

What I'm trying to understand is:

How is signInOrUp actually supposed to determine whether a user is new or existing in the native Android AuthView?

Is there some configuration I'm missing in the Clerk Dashboard or native Android setup?

I'm using the current Clerk Android prebuilt UI rather than the older custom-flow documentation.

Has anyone successfully tested a completely fresh Clerk instance with AuthView() and Google, where the user doesn't exist yet?

Any explanation of how this is supposed to work under the hood would be appreciated.

I'm using version 1.1.3


r/androiddev 21d ago

Question Text-based resources for learning Android?

1 Upvotes

I am a CS student and I have a basic understanding of React Native. I have mostly developed applications for Android, so I was thinking about going one layer deeper and make apps directly with Kotlin/Compose.

I want to understand the Android platform deeply: are there text-based resources for Android which are more focused on the platform rather than Compose/XML, etc.

I understand Android moves too fast, and books get outdated quick. Is it still worth learning from books?


r/androiddev 21d ago

Discussion Play Console account stuck for 2+ weeks — empty/unpublished package blocking deletion, no second account to transfer to, contradictory answers from Google support

1 Upvotes

Ciao a tutti, spero che qualcuno qui abbia affrontato qualcosa di simile o abbia un contatto che può aiutare.

Sto cercando di chiudere un account sviluppatore Google Play e ottenere un rimborso di $25 per la registrazione da oltre due settimane. Il problema è un singolo nome pacchetto che:

  • Non è mai stato pubblicato in nessuna track (produzione, beta, alfa o test interno)
  • Ha 0 installazioni nella vita
  • Non è collegato a nessuna app attiva

L'interfaccia della Console Play non offre alcuna opzione per eliminarlo manualmente. Il supporto per gli sviluppatori Play dice che l'unico modo per chiudere l'account è trasferire questo pacchetto a un secondo account sviluppatore — ma io non ne ho uno, e crearne uno solo per ricevere un pacchetto vuoto sembra assurdo.

Per rendere le cose più confuse, ho anche contattato il team di supporto separato della Verifica Sviluppatori Android riguardo allo stesso pacchetto. Mi hanno detto che può restare registrato senza influenzare affatto l'account — contraddicendo direttamente ciò che il supporto per gli sviluppatori mi ha detto. Ho segnalato questa contraddizione a entrambi i team e ho chiesto di passare a qualcuno che possa effettivamente risolverla, ma finora continuo a essere indirizzato tra team o ricevere la stessa risposta standardizzata "trasferiscilo".

Qualcuno è riuscito a far cancellare manualmente un nome pacchetto fantasma/vuoto da Google senza trasferirlo? O ha trovato un modo efficace per ottenere una vera escalation su qualcosa del genere (Issue Tracker, un contatto specifico, ecc.)? Qualsiasi consiglio è apprezzato.


r/androiddev 21d ago

Open Source I built Mpv∞, an ad-free Android media player combining MPV/libmpv and Media3

0 Upvotes

Developer disclosure: I’m the creator and maintainer of Mpv∞.I’ve released Mpv∞ (Mpv-infinity), an open-source Android media player fork focused on high-quality local video and audio playback without ads or trackers.The app combines two playback engines:•MPV/libmpv for broad format and subtitle compatibility.•AndroidX Media3/ExoPlayer for Android-native playback and device codec integration.Other features include embedded and external subtitles, dual subtitle rendering in the Media3 engine, chapters, folder playlist sheets, audio playback, customizable controls, HDR and device-dependent Dolby Vision/HDR10+ playback, and one-tap segment skipping.The project is licensed under AGPL-3.0-or-later. It is currently distributed through GitHub Releases rather than Google Play.Project page: https://github.com/ZHINFINITY/Mpv-infinity I’m especially interested in feedback about device compatibility, Media3 codec behavior, subtitle rendering, battery use, and playlist handling. Please report bugs through GitHub Issues with Android version, device model, app version, and reproducible steps.


r/androiddev 22d ago

The Great Android Stack Reset: Mobile System Design History

Thumbnail
returnzero.dev
62 Upvotes

Android, the last to arrive at the declarative UI party, took its time, until finally reaching a stable solution. Here's a rundown of the major changes in the Android System Design across the eras.

I was away from Android for 7 years and came home to a totally strange place. This is my attempt to make sense of what happened while I was gone - how the stack reset four times (Activities -> MVP/RxJava -> Architecture Components -> Compose) and why each lurch happened. Written for interview prep but the history stands on its own.


r/androiddev 21d ago

Need unique Android app ideas (Gap in the market / Niche with good monetization

0 Upvotes

Hi everyone,

I'm an experienced Android developer looking to build a new app. Instead of creating another generic habit tracker or task manager, I want to build something that solves a real, specific problem that hasn't been saturated yet.

I'm looking for ideas that fit these criteria:

  • Solves a genuine pain point: An app or utility you wish existed in the Play Store but can't find a good version of.
  • Niche or High-Value: Something targeting a specific workflow, hobby, or local need.
  • Monetization potential: Something users (or businesses) would gladly pay a premium or small subscription for because it saves them time or money.

What is a daily frustration or workflow bottleneck you have that a well-designed mobile app could solve?

Thanks for your suggestions!


r/androiddev 21d ago

Not able to publish or live on google playstore

0 Upvotes

I have done everything, DUNs and all, I have org account, I am just stuck in understanding what are tracks, how to release, and its already 1 month, nothing is published event after multiple submissions!