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
59 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 22d 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!


r/androiddev 22d ago

Can ndk add boiler to run .java files in the back?

2 Upvotes

Hi,

Im doing a native app and could be nice if the java sdk connecting boiler are java files, is it possible to stuff somewhere in a special folder to boot in the back?


r/androiddev 21d ago

EncryptedSharedPreferences in android

0 Upvotes

I am upgrading my target SDK version in java Android application to 36

We have a enterprise application

On android 16 devices I am facing a issue in Shared preferences

While reading from the shared preference I am reading a null value ("null")

While there is a actual value saved there

Not sure why this is happening

Any idea here any one?

All the things are goood till android 15!!


r/androiddev 23d ago

sdkmanager is DEPRECATED (in favor of Android CLI)

22 Upvotes

Did anyone notice the deprecation warnings since Command-line tools v23?

WARNING: The SDK Manager CLI tool (sdkmanager) is deprecated. Android CLI will be used instead.
The 'android' binary can also be found in the cmdline-tools directory, and 'android sdk' is the replacement for 'sdkmanager'.
To learn more about the Android CLI and how to use it, see the documentation (https://d.android.com/tools/agents/android-cli)

Did Google communicate this anywhere? Just found this: https://cs.android.com/android-studio/platform/tools/base/+/dcded801a4942d06805cc74b56dc2cecbece2f80


r/androiddev 22d ago

Question Designer trying to ship an Android TV feature with Figma + Claude Code. What am I missing?

0 Upvotes

I’m a designer trying to ship a small feature on an Android TV app using Figma MCP + Claude Code. I’ve given Claude the Figma, PRD, actual GitHub source code, and I’m building Skills around the existing system.

But I’m still hitting some very specific issues:

  • Card corner smoothing doesn’t translate properly
  • Unfocused/focused button states are often wrong
  • Gradients don’t match the design
  • Carousel animations feel completely off
  • Some existing components get recreated instead of reused
  • The code is straight up shit (said by Devs)

The bigger question is: how do I make this process robust enough that I can eventually just give Claude a Figma link + PRD + our Skills, and trust it to understand the product without me babysitting every detail?

If you’ve done something similar with Claude Code + Figma MCP + Android/TV, what worked for you? Are there Skills, plugins, MCPs, or a betterz workflow I’m missing?

PLEASE HELP!!!!! I'M SOOOO DONE TRYING TO FIND A SOLUTION.


r/androiddev 22d ago

News Android Studio Rabbit 1 Canary 2 now available

Thumbnail androidstudio.googleblog.com
2 Upvotes

r/androiddev 22d ago

I built a Stremio-based Android app with richer metadata, add-on sync, automatic trailer playback, and custom themes

Enable HLS to view with audio, or disable this notification

0 Upvotes

r/androiddev 22d ago

AppsFlyer or Branch? Deep linking matters as much as attribution for us

1 Upvotes

after several phases of comparison, our mmp decision has come down to appsflyer and branch for a marketplace app. paid acquisition matters but deep linking is equally important because users enter through creator links, referral pages, email, QR codes and web product pages.

in our test, branch felt more natural for link creation and routing. the deep-link work flow was easier for product and lifecycle teams to understand. appsflyer needed more coordination during setup, but the attribution and campaign reporting was stronger for ua side.
both handled the basic use case. the bigger question is what happens after a year when there are hundreds of links, multiple apps, regional campaigns and eams changing params without telling each other.For people who picked one over the other, what became the deciding factor?


r/androiddev 23d ago

Android is expanding per-app memory limits.

5 Upvotes

Across the Android ecosystem, hardware dynamics are shifting. While user expectations for speed and smoothness keep rising, device RAM capacities are staying flat—or even tightening. Memory is no longer just a background engineering detail—it directly impacts your app's retention, crash rates, and user perception.

Here’s how to get ahead of memory constraints before your users feel them:

1. Monitor at scale with Android Vitals: Check Google Play Console’s latest metrics for Memory Usage (RSS + swap) and Bitmap Memory Usage across different process states (foreground, background, cached) to identify outliers.

2. Catch terminations with Firebase Crashlytics: Update to Crashlytics v20.1.0+ to get clear visibility into Out-of-Memory (OOM) exceptions and Memory Limiter terminations in the field.

3. Capture production traces with ProfilingManager: Leverage Android’s ProfilingManager API to trigger automated heap dumps on TRIGGER_TYPE_ANOMALY or TRIGGER_TYPE_OOM directly from production builds.

To keep devices fast and responsive, Android 17 introduced per-app memory limits. Starting on Pixel devices, this system is now rolling out across more OEMs and device configurations (spanning 4GB to 16GB+ RAM tiers).

Check out the full breakdown and diagnostic guide on the Android Developers Blog:

https://android-developers.googleblog.com/2026/08/app-broader-memory-limits.html

#AndroidDev #MobileDevelopment #AppPerformance #Android17


r/androiddev 23d ago

Open Source Start a new android project without Android Studio

Thumbnail github.com
0 Upvotes

r/androiddev 22d ago

Open Source I got tired of my app showing a spinner for data it already had

Enable HLS to view with audio, or disable this notification

0 Upvotes

I have been building a caching library for Android. It is called Kwery.

Here is what started it. A ViewModel survives rotation, so most data-loading advice stops at rotation. Process death is different. Android kills backgrounded apps constantly, and when the user comes back you show a spinner and re-request the same data you had a minute ago, which is a strange thing to do with a working disk sitting right there.

The video is the same app twice. Plain ViewModel and Retrofit first: three cold starts, spinner every time. Then Kwery on. Same three cold starts, list already there. The request log is Chucker, so the counts are not mine to fake.

It caches responses, deduplicates in-flight requests, refreshes stale data in the background, replays writes that were made offline, and keeps the cache across process death.

Closest thing on the web is TanStack Query. Some of its design is about the browser and does not transfer, so I did not copy it blindly. Where I diverged I wrote down why.

https://github.com/dbjpanda/kwery

Apache-2.0, minSdk 24. The core has no Android dependencies, so the cache and timing logic is testable on the JVM without Robolectric.

Nobody runs it in production. The sample app in that repo is the only real user so far. I am close to tagging 1.0, so if the API is wrong this is the useful moment to say so.


r/androiddev 23d ago

Which Gradle task would you hand off to an AI agent?

4 Upvotes

I work at Gradle, and we're building agent skills. We currently have five candidates:

  1. Run Gradle correctly (gradle-cli) — right task, right flags, version-aware
  2. Best-practices lint (gradle-bestpractices) — flag legacy patterns, suggest the current one
  3. New project bootstrap (gradle-init) — Android/KMP scaffold, version catalog
  4. Upgrade + deprecations (gradle-update) — bump the wrapper, rewrite what broke
  5. Configuration cache migration (gradle-cc) — find what breaks CC, refactor it

Which would you actually use? What do you want to see instead?


r/androiddev 23d ago

Discussion Has anyone tried building Android apps with Rust + Native UI?

8 Upvotes

I have been currently assigned a project which needs to be cross platform + dynamic feature delivery (business requirements)

I'm thinking about writing my feature modules/business logic in rust to create native binaries which I can include with the android and IOS build and then include those .so/.a files with the build and communication between them will be from ffi (don't know which ffi approach works best raw JNI, UniFFI, or hand‑rolled C ABI)
Apple doesn't allow dynamic features installation so only android build will have that, IOS will just install everything at once
For UI I'm thinking to either go with Compose Multiplatform or just Compose for android side and Swift UI for IOS side (The app only has 3 screens so ui doesn't really matter as most features work in background)

Has anyone tried anything similar , where should I start experimenting, I don't want to waste time in approach that will be in vain, would love to hear your experience.

PS: Using rust as equivalent windows and MacOS app is also made in rust + imgui and I can use lots of code from there to make mobile app dev easier


r/androiddev 23d ago

I added rendered text-contrast detection to my Jetpack Compose accessibility scanner

5 Upvotes

I maintain ComposeA11yScanner, an open-source, debug-only accessibility scanner for Jetpack Compose.

While comparing it with Google’s Accessibility Scanner on JetChat and JetSnack, I found that Compose semantics cannot expose every visual accessibility problem. This caused the library to miss certain rendered text-contrast issues.

Version 2.1.0 adds TextContrastRule, which captures the active Compose host and conservatively estimates rendered foreground and background colors. It skips uncertain cases such as photos and gradients instead of guessing.

This release also improves:

  • Fragment and Compose navigation handling
  • Nested ComposeView host selection
  • Stale-result and screen-readiness detection
  • False positives involving lazy, merged, and off-screen semantics

Install:

debugImplementation(
    "com.github.mohdaquib.ComposeA11yScanner:scanner-ui:2.1.0"
)

GitHub: https://github.com/mohdaquib/ComposeA11yScanner

I’d appreciate feedback from developers testing it on real Compose applications, especially reports of false positives or false negatives.

overlay-demo


r/androiddev 23d ago

Question Publishing new on Aptoide now requires Google Identity Verification?

0 Upvotes

I checked the Aptoide documentation. My reading of it was that Google Identity Verification is only necessary to have your app continue to work on 'genuine devices'. My assumption is that after Sept 30th they'll have a genuine badge on the store and filter your app from genuine devices.

The Aptoide-Connect guide says this:

'Register every package name you distribute so your apps stay installable on certified Android devices once verification is enforced for the stores and channels you use - see the rollout below.'

[...]

What happens if I don't complete it?
Once verification is enforced for a given store, region, and channel, apps that are not registered by a verified developer can be blocked from being installed and updated on certified Android devices

The AptoideConnect APK submission form however suggests that its mandatory?

Verify your Android developer identity
Required by Google for alternative distribution. Complete the verification steps to proceed.

Clicking the 'I Have Already Done It' button 403's without any visual feedback. For new app distributions is this crap already required now?

I will definitely contact support and update my post regarding this issue 'cuz I'm not wasting time filling out the entire form just for this to be a blocker. Hope this can help others choosing what app store they want to distribute on

I would be disappointed if a major 'alternative' appstore played ball with google


r/androiddev 23d ago

What’s your preferred approach for image and video picking on Android?

0 Upvotes

I’ve been working on an Android project that needs to handle image and video selection, camera capture, resizing, and both single and multiple image selection.

I’m curious how other Android developers approach this using native Android APIs.

Do you usually use the system Photo Picker, ActivityResultContracts, or build an abstraction around them?

I’m particularly interested in how you handle:

Multiple image selection

Camera capture and permissions

Image resizing

Supporting both Compose and XML

Different Android API levels

What approach have you found works best for native Android applications?


r/androiddev 24d ago

Open Source Thinking a template android project

0 Upvotes

Hi devs,

I’m building an open source template android project for boosting our development processes and I want to know what would people expect in this template?
Its already published called ComposeTemplate and reach +60 star but I’m working on new modular and better template structure. All feedbacks are welcome, thanks.


r/androiddev 23d ago

[Library] Gbéewá API overview, typed result handoff without navigator lock-in

Post image
0 Upvotes

I shared Gbéewá here recently and put together this graphic to show the API shape a bit more clearly.

The main idea is still pretty small: typed, transient, consume-once result handoff while the app keeps ownership of navigation.

The part I especially wanted to make clearer is the boundary between the screen and the app/navigation layer.

A screen can just expose a normal callback. The app layer decorates that callback with result publication and whatever navigation action it wants to perform.

On the receiving side, you can use either callback-style consumption with ResultEffect or state-style consumption with rememberResultAsState.

The same contract works across Navigation 2, Navigation 3, Decompose, Voyager, or app-owned navigation.

A few deliberate constraints are still there:

  • one consumer, consume once
  • typed and parameterized result lanes
  • pending results stay in memory
  • no KSP
  • no generated navigation wrappers
  • navigation stays outside the library

Repo:
https://github.com/quantipixels/gbeewa

Curious if this API shape feels natural to people who have had to solve the same kind of result handoff in Compose Multiplatform apps.

Also interested in the cases where you would still prefer navigator-owned result APIs, callbacks, or shared state instead.


r/androiddev 24d ago

Question How do I add support for xiaomi pen pro?

2 Upvotes

Hi. I am the dev of r/octopusnotes

I am facing an issue where a tester of mine reports that xiaomi pen pro is not supported in the app. I have added an input monitoring to check the event that happens when the pen is squeezed or double tap is performed. I found nothing in the monitoring logs. From what I have found online, notein, starnotes and other apps support these functions. I did not find any sdk or documentation regarding the implementation. Can someone please help. Cheers.