r/androiddev

Open-source on-device speech SDK — STT (114 languages), TTS, VAD, noise cancellation. No cloud APIs
▲ 23 r/androiddev+1 crossposts

Open-source on-device speech SDK — STT (114 languages), TTS, VAD, noise cancellation. No cloud APIs

We've been building an on-device speech SDK for Android and embedded Linux. Everything runs locally — no data leaves the device.

What it does:

- Speech recognition — Parakeet TDT v3, 114 languages, ~150ms latency

- Text-to-speech — Kokoro 82M, natural English voice

- Voice activity detection — Silero VAD v5

- Noise cancellation — DeepFilterNet3

- Full pipeline: listen → transcribe → speak → listen (barge-in supported)

How it works:

- ONNX Runtime inference (CPU / NNAPI on Snapdragon, Exynos, Tensor)

- C++17 core, thin Kotlin wrapper

- Models auto-download from HuggingFace (~1.2 GB total)

- Apache 2.0

Also has an embedded Linux C API for automotive (Qualcomm SA8295P / Yocto).

GitHub: https://github.com/soniqo/speech-android

Would love feedback, especially on real device performance.

u/ivan_digital — 4 hours ago
I built Android app using only raw SDK tools (no Gradle, no Android Studio) to understand the process
🔥 Hot ▲ 84 r/androiddev

I built Android app using only raw SDK tools (no Gradle, no Android Studio) to understand the process

Hey... I am new to Android development and I’ve been trying to understand Android’s build system a bit more deeply, so I started documenting the journey and wanted to share it in public.

I started by building a basic “Hello World” Android app using only the raw Android SDK tools from the command line. No IDE, no Gradle, just aapt2, javac, d8, APK signing, etc. It’s been surprisingly useful for understanding what Gradle and the Android build tools are actually automating.

Next step is introducing Gradle to the project and learn how it replaces the manual build pipeline. After this I will finally open Android Studio and see how everything fits together.

Repo is here if anyone’s interested:
https://github.com/hethon/ATFS

u/CremeAmbitious6382 — 17 hours ago

Thoughts on JetBrains Amper

As in another posting I mentioned about the burdens of maintaining an Android app, gradle and the build system was one of my complaints, my thoughts went back to JetBrains Amper and whether that may be something I should consider. A lot of its philosophy on making the build simple and something you don't need to do much with resonates with me. My biggest concerns are that it is still considered experimental and at the moment they do not have platform specific tests like Android instrumentation tests done. The reason the experimental status bothers me is that my apps are long lived, I intend to keep them for years and I don't want too much build system reworking and definitely not reimplement back in gradle should JetBrains discontinue Amper in a year or two.

Does anyone have experience of actually using Amper and whether it comes up to their claims? Any big limitations which makes it poor to use in practice?

reddit.com
u/TheAceBat — 4 hours ago

Cross platform subscriptions

Hello,

If you have the same app on different platforms Android and iOS, how do you handle payments? Do you use separate payments for each platform, or a cross platform system via your backend so user doesn’t need to pay again if he switches platform?

I’m using Revenuecat

Thank you.

reddit.com
u/dali44tn — 1 hour ago

Does the Meta Android Development Coursea course teach Jetpack Compose?

I’m trying to find a good course that teaches the basics of kotlin and especially jetpack compose. Was hoping I found it but ChatGPT says it’s pretty outdated in important areas. I have exp with android development but using Java and the old layout ways. I don’t mind paying if there’s a good course that teaches everything and is fairly up to date.

reddit.com
u/YourBlanket — 2 hours ago

Dealing with Android dev fatigue for hobby projects

Please could I have some advice how to deal with this. I am feeling the strains of Android development and simply keeping up with the latest changes. This ranges from gradle and how that seems to constantly break things, new Android libraries which seem to jump from experimental to deprecated with a brief time in stable, nonsense Google policies (particularly in the PlayStore although some get pushed into Android more widely), etc. In short for hobby projects (by which I mean a project I do in my own time, they may be serious and long lived) I am finding most of my time is taken up with maintaining it working with the Android system rather than actually being able to work on the functionality of my apps. I possibly would even say I have a fear of opening any of my Android projects now simply because I dread what Google has broken or dumped on me today. So its probably more the maintaining over time rather than picking what libraries to use today, although that may influence the maintainability.

I am not opposed to change, rather its the constant breaking because Google and gradle seem incapable of doing design and maintaining backward compatability, instead going for infinite monkey theory and seeing what sticks. Professionally I work on desktop JVM apps and compare that with Android (eg. a jar file I have from 2006 still works fine with Java25).

I even have considered alternative options.

  • Web: Web/PWA is tempting but my apps need moderate platform access (eg. sensors, audio, etc and may be even interfacing to other fitness apps) and offline needs to be possible (I believe a PWA can work offline). I might be able to make a web version of my app but I do see hitting limitations which may restrict how well my app works.
  • Apple: Considering Google's latest move on requiring even out of PlayStore distribution to require developer registration and ID verification with Google, Android is going down to Apple's level and so Apple might be a consideration. The biggest barrier is the cost of the hardware and needing a Mac to develop for iPhone, I am not there yet.
  • Embedded Linux: The final option is making embedded Linux devices. I would see this as last resort as I am really a software person, the apps whilst being for my own use I do give out to friends for free, etc. I really would prefer not getting into the hardware business and it would no longer be free as there would have to be the cost of the hardware.
reddit.com
u/TheAceBat — 9 hours ago

Getting No RevenueCat Entitlements despite having RevenueCat dashboard details

Hi all,

I am building my first cross-platform app (on ios and android). And I am facing the same issue at both places. In my app, my paywall comes before the sign up. Now here's whats happening:

whenever i am trying to pay using the test card, the transaction is successful, but once the successful popup is removed, my screen is stuck at the paywall

in the logs, i notice that revenuecat isn't loading any entitlements, even though my subscriptions are loaded on my console through revenuecat.

i have ensured that

- entitlement identifier is same in codebase, RC

- service account is same in google play, RC

- i have 1 offering, 2 products, linked to 1 entitlement on RC

even after this, i am unable to resolved this. after giving details to multipe LLMs (ChatGPT, Gemini, Claude - it seems like a RevenueCat backend issue, but then i don't know).

My tech stack is - React Native + Expo

Experience devs - please let me know your thoughts on this!

reddit.com
u/Forward_River610 — 7 hours ago
Rejected by AdMob TWICE with zero explanation. Is anyone actually getting approved anymore?

Rejected by AdMob TWICE with zero explanation. Is anyone actually getting approved anymore?

Hey everyone,

So my game Gate Militia just got rejected by AdMob for the second time. Both times I got the exact same generic email saying my application "does not meet our program criteria." That's it. No details, no feedback, nothing I can actually work with.

The thing is, I've done everything I can think of:

  • Using demo ad units while waiting for approval
  • Test devices configured properly
  • Privacy policy is set up
  • Domain verified
  • Payment info verified

One thing I'm wondering about is that my game is still in closed testing on Google Play, but it's also in early access and available to anyone on the store. Could the closed testing status still be the reason for the rejection? The game is fully functional and playable. Has anyone been rejected just because of that?

My account was under review and the app was sitting in "Getting Ready" status. Both got rejected together with the same copy-paste response. I honestly don't know what to fix anymore when they won't even tell me what the problem is.

Has anyone been through this before? Is there something I'm not seeing that commonly causes rejections? Anything about the listing, content, or account setup that tends to trip people up?

And if AdMob keeps being a dead end, what alternatives would you recommend for a mobile game? At this point I just want to monetize my game and move on.

Any help would be huge. Thanks.

u/gtg-99 — 7 hours ago
Need help figuring out if an app I want to make is even possible / what the limitations might be.

Need help figuring out if an app I want to make is even possible / what the limitations might be.

For background I don't know an enormous amount about android development. I'm a computer science major, but only did a little bit of app development in college.

I've got an idea in my head for an app I'd like to try to make, but I don't even know if it's possible.

I'd like to make an app that sort of "floats" over other apps (specifically games). Once activated, it would take over the screen, but be transparent so you could still see the app beneath it. While it's on, it would make the phone believe that a game controller was connected. Then you could use "swipes" on the left or right side of your screen to perform controller inputs.

Basically, I don't like how a lot of current emulators/games rely on "virtual buttons" with precise locations on the screen. These "gesture" controls would allow you to not worry as much about missing a button press when playing games with tighter timing windows to perform actions. (I don't know if any of you played the old game "Infinity Blade" but I liked how that game was all gesture based, it made it feel precise, even though you were gaming on a touchscreen)

Does an app like this seem possible to make, and if so would it need root access?

I was inspired by apps like Facebook messenger that have that floating message bubble that floats above other apps on your screen. Opening the message bubble "takes over" that part of the screen and your touch inputs are captured within that part.

https://preview.redd.it/jfezy6r9o1tg1.png?width=970&format=png&auto=webp&s=eb6e88bbbd8c407fe5eb9eba0107f0c4a65fc649

https://preview.redd.it/hi7wjhvfo1tg1.jpg?width=1080&format=pjpg&auto=webp&s=53f58cd35f87398ee3d394aaeedeed7deb302a7c

reddit.com
u/SMOGONMON — 21 hours ago
I’m building an open-source Android library project with XML UI helpers, core utilities, and system tools — feedback welcome.

I’m building an open-source Android library project with XML UI helpers, core utilities, and system tools — feedback welcome.

To all the brilliant and noble Android developers here,

Despite my very questionable qualifications, I have somehow managed to put together a small Android library project that is still very much a work in progress.

I built this because I often felt that Android development involved too much repetitive boilerplate and unnecessary complexity.

I wanted to make common tasks easier to handle and, hopefully, make development a little faster.

The project is currently split into three modules:

* simple_core: core utilities and common helpers that are not tied to a specific UI approach

* simple_xml: XML UI helpers and extensions for working with Android views a little more comfortably

* simple_system_manager: helpers for system-related tasks such as device information and system control

If you happen to have a little time to spare, I would be very grateful for any feedback, especially on the API design, naming, module structure, and whether this seems genuinely useful in real projects.

Here is the GitHub repository:

https://github.com/Rhpark/Simple_UI_XML

Since English is not my first language, I relied on a translator while writing this, so please be kind if anything sounds a little awkward.

P.S. It is a little past 11 p.m. here, and I am about to head to bed.

Since it is also the weekend, I may not be able to respond right away and will likely return in a few days.

Thank you for your understanding.

u/Objective_Throat806 — 4 hours ago

I NEED HELP

Hi everyone, I have a kyocera gratina 4g kyf31, I recently tried to customize it with Total Launcher.

To do this best I used the Scrcpy mirroring program but I never disabled the basic launcher since I hadn't finished setting everything up.

I also used a Key Mapping program to add sounds and restore basic launcher functions to the one I inserted, but here comes my problem...

I accidentally mapped the button that launches the mouse as the home button, and by doing so, now I can no longer click on anything, nor even start the debug mode to operate the phone from the computer.

Also, I can't even uninstall the app or force close it because I need the mouse pointer to click on the pop-up alerts...

I tried to force shutdown by removing the battery but when I start up, I can't even start one of the two launchers as the choice is with a pop up warning, blocking practically every function.

I DESPERATELY NEED HELP.

reddit.com
u/Taha_time_traveller — 5 hours ago
Image 1 — Why the susbcriptions show 'pending payment'
Image 2 — Why the susbcriptions show 'pending payment'

Why the susbcriptions show 'pending payment'

Hi there,

I am using RevenueCat to handle the subscriptions in my mobile application.
In my play console app I can see the subscription payments, like you see in the screen shot.

All the recurring payments are shown as 'pending payments'.

Why is it like that? Or are there any problem from my side?

u/MacaroonBulky6831 — 3 hours ago

Arch architecting a "herd of donkeys" (micro-apps) for pure ASO. Am I oversimplifying native development?

Hi everyone! Instead of chasing one large "unicorn" app, I’ve decided to build a portfolio of very simple, single-purpose native utility apps.

In the last 30 days, I’ve launched 5 MVP-level apps.

​My core technical goal is zero bloat: No accounts, no cloud sync, no ads. Just minimal, local-first codebases with one-time payments.

​The strategy is 100% focused on ASO and high utility. Since I’m handling multiple codebases, I’m trying to keep everything as simplified as possible for maintenance.

​My questions for native developers:

​For those managing multiple simple utilities, how do you balance code reuse across different apps without over-engineering?

​What’s the single most important technical feature that usually makes a user keep a utility app instead of deleting it after one use? (e.g., instant load time, minimal permissions, background sync, etc.)

​I’m not dropping links to respect the rules, just genuinely looking for a technical perspective on this "quantity over complexity" approach to native development.

reddit.com
u/ManyTemperature7535 — 10 hours ago

Where do you showcase your projects for potential employers / clients to see?

Do you guys, especially those of you looking for freelance work, second jobs, or just more opportunities in general, have a portfolio site or some other page where you walk people through your projects?

I’ve mostly used GitHub for this, but it feels a bit too technical and cluttered. More important projects can easily get buried under other repos that I still care enough about to keep public, but that aren’t really the main things I’d want someone to focus on.

I used to see personal websites as something linkedin influencers or college students that are too full of themselves make, but the more time passes and the more things I build, the more I can see the value in having one place that presents my work in a clear and polished way.

Curious what you guys use for this, if anything.

reddit.com
u/semicolondenier — 2 hours ago
Dubious proposals

Dubious proposals

Hello, world! I'm an indie Android game developer and recently created a Google Developers account. Ever since I created the account, I've been regularly receiving messages like this in my work email. I was wondering if any of you have encountered a similar situation. Is this a scam?

Thanks in advance for your answers, my friends.

u/EternalLumiere — 2 hours ago

Stuck at publishing my first app 😭 Card keeps failing for Play Store fee

Hey everyone,

I’m working on an app that I vibe-coded recently and I’m trying to launch it on the Play Store. But I’m stuck at the very first step 😅

I’m trying to pay the $25 Google Play Console fee, but my payment keeps getting declined. I’m currently using an SBI virtual debit card, and it just doesn’t go through.

I’ve already enabled international transactions and made sure I have enough balance, but still no luck.

Has anyone faced this issue before?

Do SBI virtual debit cards not work for this?

Where can I get a working virtual debit/credit card (Visa/Mastercard) in India?

Any recommended banks or services that actually work for this payment?

Also, if someone has experience with this or knows a workaround, please help 🙏

reddit.com
u/Mediocre_Seat972 — 3 hours ago

How to actually get downloads?

Hi, i created a workout app and i did some marketing on tiktok and shorts. but no one actually downloaded. can anyone share how they got users and their first downloads?

reddit.com
u/Mundane_Proposal1411 — 9 hours ago
Week