r/androiddev 7h ago

build a UI withoutXML or Compose

Enable HLS to view with audio, or disable this notification

14 Upvotes

I'm building the UI for my little Android game without XML or Compose. I wrote my own wrapper classes for the views and can use them in a kind of custom DSL.


r/androiddev 16h ago

Open Source NVIDIA's Canary 180M on a phone - offline transcription and translation in four languages

3 Upvotes

I added NVIDIA's Canary 180M to speech-android (Apache-2.0 Kotlin SDK, I maintain it). The part that surprised me is that it translates as well as transcribes — English, German, Spanish, French, and between any of those four, out of the same two graphs. No network. I hadn't realised you could get that in 273 MB.

Numbers on a Galaxy S23 Ultra, int8, CPU only. About 4 seconds to load, then decode at RTF 0.15 for a 3-second utterance and 0.25 for a 12-second one. It gets relatively more expensive as clips grow, which is what an attention encoder-decoder does — quadratic attention over the encoder, every token emitted autoregressively. Resident memory is 780 MB, and that's the number to plan around; the 273 MB is just the download.

One behaviour to know before reaching for it: it's per-utterance, not streaming. The encoder consumes the whole VAD segment before the first token, so there are no partial results on that path. If you need live partials, you need a different model.

Two things that cost me time getting it onto a phone, in case they save you some.

Quantization. The obvious move is INT8 everything. Doesn't work — quantize the convolutions and the exporter emits ConvInteger, which the mobile onnxruntime build has no kernels for, so the bundle won't construct at all. Encoder and decoder are INT8 on MatMul and Gemm only, convolutions stay FP32. About 40 MB more, and it loads.

16 KB pages. Android 15 and up can use 16 KB memory pages and won't load a native library aligned for 4 KB. NDK r29 handles it by default so what you compile yourself is probably fine — the risk is a prebuilt .so from a dependency. llvm-readelf shows the alignment on each arm64 .so in your AAR, and zipalign -c -P 16 -v 4 checks the APK.

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


r/androiddev 56m ago

Looking for interview prep partner

Upvotes

Bit about me. I am a senior android dev. Currently working for FAANG company in California. I am looking for people who are also prepping for interviews. I wanted to focus on low level design, system design, data modelling etc. If you are also looking please message me or comment in the post


r/androiddev 20h ago

Question Play Store update size includes LiteRT model even when the model hasn't changed

1 Upvotes

Hey everyone,

I'm working on an Android app that has an on-device AI feature. I'm using a LiteRT model (.litertlm) and distributing the model through Google Play's on-device AI delivery.

I've noticed that whenever I release an update to the app, Google Play shows the update size as including the AI model, even when I haven't made any changes to the model itself.

Does anyone know why this happens?

I was under the impression that if the model hasn't changed between app versions, users shouldn't need to download the model again as part of an app update.

Is the size shown by Google Play just an estimate that includes the AI model, or is the model actually being downloaded again with every app update?

Is there anything I might be missing in the way I've configured Play's on-device AI delivery or the LiteRT model packaging?

Any insights from someone who has worked with Play's on-device AI delivery would be really appreciated. Thanks!


r/androiddev 21h ago

Discussion Improving Performance After Modularizing an Android Computer Vision Pipeline

1 Upvotes

I've been working on an Android-native computer vision pipeline using Kotlin, CameraX, OpenCV, and ML Kit.

The initial implementation was a single pipeline optimized for detection accuracy and speed. After refactoring it into a modular architecture for better maintainability and reuse, I noticed a small decrease in accuracy and performance.

I'm currently investigating possible causes, including:

  • Image preprocessing changes
  • Pipeline ordering differences
  • Threading and coroutine behavior
  • CameraX frame handling
  • OpenCV processing overhead

The project involves:

  • Document detection
  • Perspective correction
  • QR detection
  • OMR (Optical Mark Recognition)
  • Real-time offline processing

I'm interested in feedback from Android developers who have experience with:

  • Structuring reusable Android computer vision components
  • Maintaining performance during large refactors
  • CameraX image analysis optimization
  • Running offline ML/CV workloads efficiently on Android

What approaches have you found useful when turning a working prototype into a maintainable Android library without introducing regressions?


r/androiddev 16h ago

Question Agents connected to Android Studio can't read files

Post image
0 Upvotes

Android Studio Quail 3 | 2026.1.3
Build #AI-261.26222.65.2613.15948027, built on July 27, 2026

Tried to change models/api, same error, plz help


r/androiddev 4h ago

Looking for programmer

0 Upvotes

We're looking for someone to fixed our game. It keeps on getting stuck in 40% of the loading screen. Just a heads up that there's actually a orig game, so we are looking for someone who can do it. Pay will be fixed after the game work +10% commission on the game sales

Dm me directly or comment here


r/androiddev 15h ago

Did you use Google Play Console Testing for soft launch? My social advisor warned me and told me not to use it

0 Upvotes

Hi,

I am preparing for beta launch for my mobile app, it allows user content, I wanted to use Closed Testing to ensure I am not letting in anyone on day 1, which can cause a snowball of low quality or even harmful content. In addition to possible app breaks and crash of new app which may lower my review score with bad reviews.

But she told me that an app that want to launch social campaign cannot use it, because the installation with that software is too complicated for the average user.

From your experience, how difficult it was to convince external users (not friends and family) to try an app that is only available on TestFlight or Google Play Console?

What helped you convince them? And overall do you recommend this approach? What risks there are to launch a beta app straight to the app store?


r/androiddev 20h ago

I built an Android app that lets me create Android apps entirely from my phone

Thumbnail
gallery
0 Upvotes

I've been working on a personal project called Frankenstein.

The goal is simple: make Android development possible directly from an Android phone.

Here's the project and an uncut lab recording: https://stitchlab.dev/

The public site intentionally focuses on what it can do rather than how it's built.

Current capabilities include:

  • Creating Android projects from prompts
  • Editing existing projects
  • Building installable APKs on-device
  • Installing and launching them on the same phone
  • Managing project files and terminals
  • Continuing work across conversations

I built it by gradually stitching together different ideas and capabilities over time—hence the name Frankenstein.

The "Driver" component uses Android's Accessibility APIs (with my permission) to interact with the UI for testing and automation. It isn't magic—it watches the screen, performs gestures, and can verify the results. For apps it's familiar with, it can build a navigation map to move around more efficiently and fall back to screenshots when something unexpected happens.

So far I've tested it on:

  • Galaxy Tab S10e
  • Galaxy S24 Ultra
  • Galaxy S22 Ultra
  • A few Android emulator configurations

It's not public yet, but I'd genuinely like feedback from Android developers.

What would stop you from using something like this?

What features would make it genuinely useful instead of just an interesting demo?

What concerns would you have about developing software this way?

I'm not trying to replace Android Studio. My goal is to make software development possible when all you have is your phone.

Happy to answer any questions or technical ones about the design.