r/androiddev • • 19h ago

Question Why do I need a review when promoting from beta to production?

1 Upvotes

Something has been rubbing me the wrong way for a while now. I have 3 tracks for my app in Google Play, internal, open beta, production. When deploying changes we go through all 3 tracks with a single binary. I can understand the Open Beta track needing a review, but once that's approved why do I need yet another review to promote that binary to Production? I honestly wouldn't care if the review times were manageable, but I've had multiple reviews take over 2 weeks. When they are reviewing the binary are they expecting different results? Notes about the app that might be affecting the review timelines; it has Android Auto capabilities as well as a Wear OS version.

TLDR; Why do we need multiple reviews on the same binary when promoting between release tracks?


r/androiddev • • 16h ago

Open Source I made this Android TV debloater, it just passed 1,000 downloads in 3 days

Thumbnail
gallery
0 Upvotes

It's an open source app that cleans up your Android TV, turns off ads, trackers and bloat in a few taps. Side load apps your TV's store doesn't carry, send files from your phone, and see which apps use data and where they connect.

It's all Kotlin, UI in Jetpack Compose with Material 3 Expressive. A few bits devs might find useful:

- a remote with no lag: the usual `input keyevent` starts a new process for every key press, which is slow. Tellyscope starts one small helper on the TV and keeps it running, so key presses land instantly

- real app names and icons: ADB normally only gives you package names, so a second small helper reads them on the TV and is removed right after

- the ADB client runs entirely on the phone (pure Kotlin on Kadb), including Android 11+ wireless pairing and mDNS discovery. Every reopen of the TV's pairing dialog picks a new port, so it browses mDNS fresh each time instead of trusting the last one

- under 3 MB: most of the crypto library Kadb depends on gets trimmed, keeping only the handful of pieces it actually uses. That alone saved ~700 KB

Happy to answer questions on any of it. It's Free, GPL-3.0, no ads, no tracking, no account. It makes two internet requests: the cleanyourtv debloat lists from GitHub, and an update check you can turn off.

GitHub (APK + source): https://github.com/man15h/tellyscope

Disclosure: Most of the code is written by Claude Opus 5.5 + Fable 5, and I direct the work. what gets built, how it should behave, and what's safe to touch. It's not prompt and ship. Every change goes through a pull request that gets reviewed before I merge it, and CI runs the build, unit tests and lint. Risky features get e2e tests on an Android TV emulator first. The safety rules are hard coded rather than left to the AI and I've created and maintained open source projects since before the AI era. It's GPL-3.0, so you can read all of it on GitHub


r/androiddev • • 21h ago

How do you like working in Big Tech?

4 Upvotes

Specifically as an Android developer? I spoke to my mentor about being interested in android development, and he said he thinks I would only enjoy it only if I went to a Big Tech company because it would provide more challenge and chance for cross team collaboration which I enjoy.

It made me want to hear about people's experience working in Big Tech vs smaller or non-tech companies as an Android dev. Which do you prefer?


r/androiddev • • 5h ago

Google Play Console's massive "Your Apps Will Be Removed" red warning during routine payment verification is peak toxic UX

Post image
11 Upvotes

I just went through one of the most unnecessarily stressful 24 hours of my developer life, and I need to rant about how Google treats its developers.

Because my app generates revenue, Play Console recently went through a routine check regarding merchant payment verification. Fine, I updated everything immediately and submitted it.

But right after, a massive, scary red banner slammed across my dashboard saying:
"Your developer profile will be removed, and all your apps will be removed from Google Play on November 23, 2026."

Underneath that terrifying headline, in much smaller text, it says: "Google couldn't verify your merchant payment method." And deep down in the microcopy, it basically implies that this warning stays active even while your newly submitted info is under review.

Are you kidding me, Google?

I am a partner introducing revenue to your platform, complying with your rules, and your automated system decides to hold a metaphorical gun to my head with a countdown timer to wipe out my entire business, just because your team takes a day to press a review button?

Mixing up "Routine Administrative Review" and "Severe Violation Punishment" into the exact same panic-inducing UI element is peak lazy engineering and toxic UX. For an entire day, I had to stare at a countdown to my apps being deleted, wondering if an automated glitch would destroy years of my hard work.

The verification finally cleared today (it only took about a day) and the warning went away, but the psychological toll and unnecessary anxiety were completely uncalled for.

Has anyone else been absolutely jump-scared by this specific red banner? Google seriously needs to fix their Developer Experience (DX). This is not how you treat people who build your ecosystem.


r/androiddev • • 2h ago

Discussion How do you keep analytics from turning into a god object in your app?

2 Upvotes

n most projects I worked on, analytics was treated as a secondary part of the app. We spend a lot of time on the architecture of main parts, and almost no time on analytics.

Then business asks to track this and that. Then to add a new vendor. Then to decide which event goes where. And in the end we have one AnalyticsManager with a huge list of methods, and every layer depends on it.

I came to a simple idea: the app should not know which analytics vendors exist. Feature code only says what happened, and everything else is split into small pieces:

  • Event describes what happened, in the app’s words
  • Factory decides what one vendor receives for an event, or ignores it
  • Tracker makes one call to one vendor SDK
  • Dispatcher passes calls from the app to the vendors

So in a ViewModel it looks like this:

class CheckoutViewModel(
    private val tracker: EventTrackerService,
) : ViewModel() {

    fun onTicketPurchased(fare: String, price: Double, currency: String) {
        tracker.track(TicketPurchased(fare, price, currency))
    }
}

No vendor SDKs, no god object. Each feature keeps its own factories, and DI (Koin in my example) collects them from all modules. Adding a vendor means writing its factories, and removing one means deleting them.

I wrote a full article about it with code for every piece, published in ProAndroidDev:
https://proandroiddev.com/app-architecture-analytics-ec3471ca619b

I also built an open-source library around this idea, Herald, if you want to see it in practice:
https://mkhytarmkhoian.github.io/herald-docs/

Curious how you handle analytics in your projects. Do you have one manager, a wrapper per vendor, or something else?


r/androiddev • • 21h ago

Experience Exchange Play Store submission info

0 Upvotes

I just thought I would post how my play store submission is going, since I am always looking for info and want to help people out that are looking for answers. App store submissions are much more work that I thought.

I just had my iOS app approved last week. Now android. I submitted on Saturday.

It was WAY faster than I expected. Review came back rejected yesterday, Monday morning (India time). Then I resubmitted yesterday too.

Now this morning, already got rejected again. They are WAY faster than Apple, at least for me. But I also realized they are actually testing way more thoroughly than Apple did. I am getting my second fixed submission back now. I will update this post if they review it again right away tonight (India employees seem to do it at 3-4am EST, which is day in India obviously).

It seems the only issues they have are with my Google API scopes I use for some imports from health, sleep, etc... I did get it all approved in the Auth Center, but I guess they dive deep into those in review. It seems they all are okay, I just have to show them proof. No issues with my actual app though and they actually signed-in and used it.

Hopefully this helps someone! There is light at the end of the tunnel. Google seems faster than Apple right now, not sure why.


r/androiddev • • 21h ago

Gradle vs Kotlin Toolchain: Project Structure Side By Side

Post image
4 Upvotes

r/androiddev • • 7h ago

Android Studio for Windows on ARM, Finally!

Thumbnail
gallery
24 Upvotes

Google almost gave up on this one, so i decided to build it myself
What works:-

  1. IDE and compiler, solved all performance issues with coding and compiling
  2. XML previews
  3. Jetpack Compose Previews (Had to build the xml and compose viewing library from scratch to support arm64, google did not have that.)

What isn't supported yet:-

  1. Android Emulator, you will need a physical device to test.

Known issues:-

  1. Gradle project is imported every time you open it in android studio (Fixed, thanks for the comments)

Download link: https://github.com/DevanshSampat/android-studio-arm64-releases

All repositories required for building Android Studio are on my github: https://github.com/DevanshSampat?tab=repositories&q=android-studio&type=&language=&sort=

Enjoy Devs ;)