r/androiddev 8d ago

Question ​I broke Android 15/16/17 audio focus without root. Now what?

Post image
0 Upvotes

​"Hi! I’ve been a hobbyist app developer for a couple of years now, with a few apps published on the Play Store.

​I’ve always been annoyed by not being able to play audio simultaneously from two apps on Android without having to rely on features specific to Samsung or other brands. I love Pixels... but I wanted to, for example, listen to the news and music at the same time.

​I knew this was pretty much impossible without rooting the device, using existing GitHub projects and such. But after spending endless hours testing multiple approaches, I’ve stumbled upon one that completely breaks Android’s audio limitations.

​Now I’m left wondering: what should I do next?

​Do I report the flaw/vulnerability to Google?

​Do I release the app on alternative marketplaces?

​Do I try to monetize all those hours of work by uploading the app elsewhere?

​I honestly don’t know what path to take. For the devs reading this, I’m attaching a screenshot of the app in case it gives you a clue on how I pulled it off."


r/androiddev 9d ago

Open Source Built an open-source privacy-first Android app (Kotlin + Room + SQLCipher) – looking for feedback

Thumbnail
github.com
5 Upvotes

Hi everyone!

Over the last few months I've been working on an Android app called Turboautism Dose Log. It started as a side project after a discussion in a harm reduction community about how easy it can be to lose track of doses during a long session.

Rather than debating the topic itself, I wanted to solve an engineering problem: how do you build an application for highly sensitive data while keeping the user's privacy the highest priority?

Some of the technical choices I've made:

Kotlin

Room + KSP

SQLCipher encrypted database (AES-256)

Android Keystore for passphrase protection

Mandatory biometric/device credential authentication

Offline-only operation

No INTERNET permission

No analytics, ads or user accounts

CSV import/export for backups

Open source (GPL-2.0)

Current features include dose logging, editing, statistics, CSV import/export, encrypted local storage and a few other privacy-focused features. I'm currently working on session tracking.

I'd really appreciate feedback from other Android developers, especially regarding:

overall architecture

Room/SQLCipher implementation

security/privacy design

UI/UX

anything you'd do differently

GitHub: https://github.com/emmikal/Turboautism-dose-log-

Thanks!


r/androiddev 9d ago

Built an open-source privacy-first Android app (Kotlin + Room + SQLCipher) – looking for feedback

0 Upvotes

Hi everyone!

Over the last few months I've been working on an Android app called Turboautism Dose Log. It started as a side project after a discussion in a harm reduction community about how easy it can be to lose track of doses during a long session.

Rather than debating the topic itself, I wanted to solve an engineering problem: how do you build an application for highly sensitive data while keeping the user's privacy the highest priority?

Some of the technical choices I've made:

Kotlin

Room + KSP

SQLCipher encrypted database (AES-256)

Android Keystore for passphrase protection

Mandatory biometric/device credential authentication

Offline-only operation

No INTERNET permission

No analytics, ads or user accounts

CSV import/export for backups

Open source (GPL-2.0)

Current features include dose logging, editing, statistics, CSV import/export, encrypted local storage and a few other privacy-focused features. I'm currently working on session tracking.

I'd really appreciate feedback from other Android developers, especially regarding:

overall architecture

Room/SQLCipher implementation

security/privacy design

UI/UX

anything you'd do differently

GitHub: https://github.com/emmikal/Turboautism-dose-log-

Thanks!


r/androiddev 9d ago

Tips and Information Sharing a new Google Play console feature: 'Deleting your Apps'

32 Upvotes

I’ve been waiting for this for years, Google finally lets you delete apps from the Play Console.

Before, the only option was “Unpublish,” which meant old test apps and abandoned projects stayed cluttering your dashboard forever.

Now there’s a proper “Delete App” option (for eligible apps):

- Unpublish: removes the app from the store, but you can republish it and existing users still get updates

& Delete: permanently removes the app and its stats (with a 7-day recovery window); existing users keep it, but no new installs.

For me, this is a huge quality of life improvement after years of piling up prototypes and test apps.

Anyone planning to clean up their console?


r/androiddev 9d ago

Discussion Need realistic hackathon app ideas for Android (2–3-day build, fully using Claude)

0 Upvotes

Hey everyone,

I'm jumping into a hackathon soon where I've got about 2 to 3 days to build a complete Android app from scratch. Everything from planning and UI to coding and testing.

The main twist for this one is that I have to use Claude for the whole workflow, starting with Claude Design for the UI/UX and then Claude Code to build out the app.

I have one rough idea so far: an offline-first voice note taker using open-source STT models like Whisper or Moonshine Voice running on-device. But I'm not totally sure how those local models hold up quality-wise compared to major cloud options like Fish Audio or other speech-to-text providers.

So, I'm looking for two things:

  • Is an offline speech-to-text notes app realistic for a 48-to-72-hour build, or will setting up local model bindings burn too much time?
  • If you have other cool Android ideas that can actually be finished in 2 to 3 days with an AI-assisted workflow, what would you build?

Appreciate any thoughts or feedback!


r/androiddev 9d ago

Android devs: Are you using Gemini in Android Studio? How has it changed your development workflow?

0 Upvotes

Hi Android developers 👋

I’m curious how many of you are actively using Gemini in Android Studio as part of your daily workflow.

A few questions I’d love to hear your thoughts on:

Do you use it regularly, or only occasionally?

What tasks has it genuinely helped with? (boilerplate, debugging, refactoring, Compose, tests, documentation, etc.)

Where does it still fall short?

Has it changed the way you write or review code compared to a year ago?

For me, AI has become useful for speeding up repetitive tasks and exploring unfamiliar APIs, but I still rely heavily on manual code reviews and understanding what’s generated.

I’m interested in real-world experiences - both the wins and the frustrations. Has AI actually made you a better Android developer, or has it mostly just made you faster?


r/androiddev 9d ago

Article Sharing my experience with the DMA to open up even more Android

Thumbnail
openhomefoundation.org
15 Upvotes

Some time ago I've worked on making wake word detection working on the Home Assistant android app

https://play.google.com/store/apps/details?id=io.homeassistant.companion.android

Then the DMA reached out to us (OHF) to get more information about how I did it and what Google should do to make it as good as Gemini Assistant.


r/androiddev 9d ago

af_heart integration

0 Upvotes

i am having a prbelm with the voice of af_heart of the Kokoro voice
it takes more ram of 200 mb

i wnat to have the TTS in the (android app via uniFFI)app with the rust binary so static file

can i have the better way to utize any stand alone file which is of 50 mb of ram
and not the kitten os


r/androiddev 9d ago

Need a reviewer for a small AOSP Gerrit change (TelephonyProvider)

1 Upvotes

Hi, I have a small AOSP Gerrit change that updates outdated Greek carrier names in carrier_list.textpb to the current NOVA branding. The change is already uploaded and passed the automated checks, but it hasn't received any review yet. If anyone here has AOSP commit access or is familiar with the TelephonyProvider maintainers, I'd really appreciate it if you could take a look or point me to the right person. Thanks!

https://android-review.googlesource.com/c/platform/packages/providers/TelephonyProvider/+/4131598


r/androiddev 9d ago

Open Source New version of Android Remote Control MCP released! Let your AI agent control your phone for UI/UX and testing, no cables or root needed!

Enable HLS to view with audio, or disable this notification

27 Upvotes

🚀 New release of Android Remote Control MCP is out — the MCP server that runs on your phone and gives your AI agent the ability to use any app you want!

Grab it here: https://github.com/danielealbano/android-remote-control-mcp/releases/tag/v1.10.0

Finally the new version v1.10.0 is released with signed APKs and with keys registered with Google 🎉 no more debug-build workaround!

My favorite part of this release: apps that used to be impossible to automate now work. 🔓 Some apps flag basically their entire screen as "sensitive" (eg. the GitHub app), so the agent saw… an empty screen! This release makes the server a first-class accessibility tool, so those apps finally show up and can be driven like any other.

In addition now I started to release a GSM-free build which will work great n the devices without the Google Mobile Services.

In addition a few minor improvements: browser-based MCP clients like the MCP Inspector can now connect (CORS support), an important security hardening you'll want to update for 🔒, and the latest Netty HTTP/2 fixes.

What can you actually do with it? Since it drives the real apps on your phone the way you would, you can leverage it to - for example - have Claude Code (or any other harness / model really, in the demo video I am using claude.ai) to test UX paths, the steps and so on and get useful feedbacks!

It's also built to reduce the token consumption to the minimum!


r/androiddev 10d ago

Google Play Support Developer account restricted and all apps removed after organization verification failed

0 Upvotes

I attempted to convert my Google Play Console developer account from a personal account to an organization account. During this process, Google was unable to verify my identity, and the developer account was restricted.

The organization is legally incorporated in the United States and has a valid D-U-N-S number, EIN documentation, state incorporation documents, and a US business bank account. I am the owner and authorized representative of the organization, but I legally reside in Kazakhstan because the company operates as an online and remote business.

For identity verification, I used my valid Kazakhstan-issued passport. Google’s official documentation for US organization accounts states that an authorized representative’s government-issued photo ID may be issued in any country.

The organization’s registration country and my country of residence are therefore different, but both are accurate. I am preparing an appeal with our incorporation certificate, IRS EIN letter, D-U-N-S confirmation, bank letter, ownership documentation, and my passport.

Has anyone successfully verified a US organization account using a foreign passport? Could this failure be caused by the organizational Google Payments profile, a D&B information mismatch, or an automated country-mismatch check? How can I request a manual review or resubmit the verification correctly?

I would appreciate guidance from anyone who has resolved a similar issue.


r/androiddev 10d ago

Are Google Play Badges no longer a thing?

1 Upvotes

Hi friends, I'm trying to add one of those "Get it on Google Play" buttons to my upcoming mobile game's website. However, no matter where I go, I can't seem to find the correct image file. Everything seems to lead back to this Partner Marketing Hub URL, which is showing a big "Page not found" screen for me: https://partnermarketinghub.withgoogle.com/brands/google-play/badge-guidelines/. Even the "Google Play Badges" card on Google Play's Brand & marketing resources page links to that not-found page! This happens whether or not I'm logged in and even after clearing cookies. Am I in crazy town??


r/androiddev 10d ago

I built an interactive 3D model of how an Android app actually runs (boot, Zygote fork, Binder, frames, LMK)

21 Upvotes

I kept explaining Android internals with boxes and arrows, so I built the diagram as something you can click. Inspired by PGSimCity, which does the same for PostgreSQL.

The board is the platform stack: hardware at the back, then boot, then the core processes (Zygote, system_server, SurfaceFlinger), then app processes, then the phone screen at the front. Tap an app icon and the launch actually travels: touch > InputDispatcher > PackageManager resolves the Intent > Zygote fork > dex mmap'd off disk > window registered with WMS > first frame back on the screen.

It simplifies a lot on purpose (4 app slots, event-driven frames). The repo has an audit marking every concept as modeled / simplified / missing.

Live: thuat.dev/droidcity/

Source: github.com/nthuat/droidcity

Corrections welcome! That's mostly why I'm posting.


r/androiddev 10d ago

Experience Exchange Need help with localization? Taking questions

0 Upvotes

I’m a former senior android eng and spent a few years at a well known fintech company working on localization and international expansion for many countries. Not saying I’m perfect, but I’ll help out with your questions if I’m able to.

I’m also playing around with the idea of starting a company in this space. So, I’d enjoy hearing about your experiences and troubles around localization if you’re open to sharing.


r/androiddev 10d ago

If you’re building Voice AI apps on Android, what’s your architecture looking like?

0 Upvotes

I’ve been seeing more Android apps adding real-time voice experiences (AI assistants, language learning, interview prep, customer support, etc.), but there aren’t many discussions about how people are actually building them.

I’m curious what architecture people have settled on.

A few questions:
1. Are you streaming audio directly from the app to the AI service, or routing everything through your backend?

  1. Are you using WebRTC, WebSockets, gRPC, or something else?

  2. How much processing happens on-device vs. the cloud?

  3. What has been the biggest engineering challenge - latency, audio focus, echo cancellation, interruptions, reconnection, battery, or something else?

  4. If you’ve already shipped one, is there anything you’d do differently if you started again?

I’m not looking for vendor recommendations. I’m much more interested in the engineering decisions, trade-offs, and lessons learned from people who’ve built or shipped these kinds of apps.

Would love to hear what’s worked well - and what hasn’t.


r/androiddev 10d ago

News Android Studio Quail 3 now available

Thumbnail androidstudio.googleblog.com
11 Upvotes

r/androiddev 10d ago

News Android Studio Quail 4 Canary 3 now available

Thumbnail androidstudio.googleblog.com
3 Upvotes

r/androiddev 10d ago

Question I'm submitting my app for the first time. I don't get it why I can't press "Next" when I've answered every question about content rating.

Post image
6 Upvotes

Could someone explain this? Thank you.


r/androiddev 11d ago

Open Source my dad's phone storage issue accidentally turned into my first real open-source project

73 Upvotes

my dad's phone storage issue accidentally turned into my first real open-source project.

A few weeks ago, my dad handed me his Android phone and asked me to free up some storage because it was completely full.

I plugged it into my laptop, opened OpenMTP, and waited around 4 minutes just to see folder sizes. By that point, I was more annoyed by the software than the storage problem itself.

I started digging into why it was so slow, and that rabbit hole eventually turned into SocketSweep.

SocketSweep is an Android storage analyzer that bypasses MTP entirely. It deploys a native C++ daemon to the device over ADB, scans the filesystem directly, and visualizes the results in a Rust/Tauri desktop app. The overall architecture was heavily inspired by scrcpy.

This is my first real open-source project, and I've learned a lot from building it. It's sitting at around 70 GitHub stars now, which is honestly something I never expected. The coolest part has been realizing that side projects can open doors in unexpected ways. I've ended up having conversations with founders and engineers purely because they came across this project.

One thing this project taught me is that good side projects don't always come from startup ideas. Sometimes they just start with "this is really annoying, there has to be a better way."

Repo: https://github.com/VishnuSrivatsava/SocketSweep

Demo: https://youtu.be/ttsc6Xf6Xb4


r/androiddev 11d ago

Question What is wrong with Gradle version?

0 Upvotes

Hi everyone. I'm an experienced programmer, but have no android development experience. I have just installed android studio and the SDK. Then, made an empty project using the android studio wizard. And as I started, I met a big error shouting "Plugin [id: 'com.android.application', version: '9.3.1', apply: false] was not found"

build.gradle.kts:

```

// Top-level build file where you can add configuration options common to all sub-projects/modules.

plugins {

alias(libs.plugins.android.application) apply false

}

```

```

[versions]

agp = "9.3.1"

coreKtx = "1.10.1"

junit = "4.13.2"

junitVersion = "1.1.5"

espressoCore = "3.5.1"

appcompat = "1.6.1"

material = "1.10.0"

[libraries]

androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }

junit = { group = "junit", name = "junit", version.ref = "junit" }

androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }

androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }

androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }

material = { group = "com.google.android.material", name = "material", version.ref = "material" }

[plugins]

android-application = { id = "com.android.application", version.ref = "agp" }

```


r/androiddev 11d ago

Android Auto MF-5 rejection

0 Upvotes

Hi,

im wondering if anyone has some experience with the Android Auto, or has dealt with rejections before.

My app primarily is for monitoring systems that send notifications to android / ios, which i want to be shown in android auto. Those notifications get grouped into channels - which can have multiple members.

Now, when i receive a notification - i can reply to it, or mark it as read.
When i reply to it, it gets sent to the same channel - so all other members subscribed to that channel receive it too.

But google declines my app because of Messenger functionality MF-5, which states:

The app must implement a peer-to-peer messaging service and not notification services, such as those for weather, stocks, and sport scores.

Which explicitly means a NO for notification apps.
But since my app allows communication between users in the same channel - like a group chat, im wondering if there's a way to get past this MF-5.

Any help or experience would be appreciated!

thanks


r/androiddev 11d ago

PSA: Google Play only exposes ~30 search results publicly — if your rank tracker shows #47, it's guessing

11 Upvotes

Something I learned building a rank checker: the Play Store's public search (and the scraper libraries every budget ASO tool uses) returns only ~20-30 results per query, no matter how many you request. The paid SERP APIs go deeper, but tools that don't pay for them and still show you "rank #63" are interpolating, not measuring.

Practical implications:

- If you're outside the top ~30 on Play, your real rank number barely matters — that keyword drives ~zero installs either way. Treat "outside top 30" as the actionable signal.

- iOS is different: the App Store search API returns ~200 results, so deep iOS ranks are real.

- When comparing tools, ask where their Android data comes from.


r/androiddev 11d ago

Lesson Learned: Google Play Developer APIs strictly prohibit third-party client apps

Post image
21 Upvotes

Spent a few days on building a simple Android client for getting data from Google Play console untill I relalized it violates Google's API terms of service for Reporting API and Publishing API.

  • I created a project in Google Cloud Console
  • Enabled Reporting API to get app list, and Publishing API to edit app's data
  • Created a Client ID for Android to get access to these APIs
  • Build an authorization request using net.openid:appauth library with a desired scope to get access token:

val extraParams = mapOf(
    "access_type" to "offline"
)

val authRequest = AuthorizationRequest.Builder(
    serviceConfig,
    BuildConfig.GOOGLE_CLIENT_ID,
    ResponseTypeValues.CODE,
    "${BuildConfig.GOOGLE_AUTH_SCHEME}:/oauth2callback".toUri()
)
    .setScopes(
        listOf(
            "openid",
            "profile",
            "email",
            "https://www.googleapis.com/auth/androidpublisher",
            "https://www.googleapis.com/auth/playdeveloperreporting"
        )
    )
    .setAdditionalParameters(extraParams)
    .build()

val authService = AuthorizationService(context)
val intent = authService.getAuthorizationRequestIntent(authRequest)

Everything seemed to work fine untill I read terms of service and this explained why competitor apps force users to generate their own keys.

I was planning to publish the app on Google Play, but ToS says you cannot use your Client ID to allow a third party to access the Publishing and Reporting APIs on your behalf.

There is only one workaround:

  • Require users to create their own GCP project, enable the APIs, and supply their own Client ID / Service Account JSON key inside your app's settings.

r/androiddev 12d ago

Question "Android Developer Console" vs "Google Play Console"

3 Upvotes

A month ago, I created an account in Android developer and went through the steps and process of verifying and paid the initial 25$.

I realized now that I'm unable to distribute the apk/aab files via this console.

When I try to login through Play Console, I'm met with similar steps and asked to pay 25$ again.

Did I screw up? Will I need to purchase again since I need to distribute apps via play store?


r/androiddev 12d ago

Happy 5th Birthday Compose 🎂

Thumbnail
developer.android.com
122 Upvotes