February Update: Improving Android Emulator in Browser
March 10, 2025

February Update: Improving Android Emulator in Browser

We continued to improve the Android Emulator in Browser experience, added GPU encoder support, enhanced controls, deeper integration with React Native + Expo Go and more.

WebRTC

We intentionally kept the lim run android command unchanged to maintain compatibility, especially with automation workflows involving video recording, a prevalent use case among our customers.

The lim CLI will soon support WebRTC through two methods:

  • Native: Enables interaction-free recording, ideal for non-GUI environments like GitHub Actions.
  • Electron App: Offers an interactive GUI. The lim run android command will launch this GUI by default or when using the --stream=true flag.

This approach will become the primary way to use Limbar outside the browser, particularly useful for customers working locally on Android development in Windows VMs, where separate GUI and command-line tools often face reliability issues.

GPU Support

  • Limbar has supported iGPU instances since last year, but we've now implemented a GPU-based encoder through ffmpeg, dramatically improving screen transition smoothness, especially with WebRTC.
    • Although scrcpy also utilizes the hardware-accelerated encoder, the improvements in FPS aren't as pronounced as with WebRTC.
  • While there's room to develop an encoder at GPU level directly without ffmpeg to further optimize performance, the current implementation already offers a smooth enough experience to justify prioritizing other tasks for now.

Enhanced Control

  • Added Ctrl+M shortcut for the Android menu key event, plus support for arrow keys, delete, and backspace.
    • It's Ctrl+M for macOS as well because Cmd+M is intercepted by the system before it makes it to the browser.
  • Clipboard support is live! You can now paste directly into Android text fields using Ctrl/Cmd + V, significantly enhancing usability.
  • Reduced WebRTC control traffic, lowering latency by decreasing the number of events sent.

Integrations

  • We're doubling down on React Native + Expo Go. Our limdroid distribution now ships with Expo Go pre-installed, letting you quickly launch your apps via deep links.
  • The React component RemoteControl now includes the handy openUrl attribute, allowing seamless activation of exp:// links immediately when your instance is ready.

While we're shifting more focus towards AI-driven workflows— or rather "vibe coding"—it's been amazing to see how these developments have simultaneously enhanced our enterprise customers' experiences. Browser-based Android continues to prove itself as an incredibly effective solution for everyone.

On the business side, we're actively collaborating with new partners to integrate Limbar into more products. Keep an eye out for upcoming announcements!

Thank you all for joining us on this journey!

Karl,
Co-founder @ Limbar

Try Limbar

Get started with true cloud-native Android infrastructure:

  • 2 hours of free usage. No credit card required.
  • Launch your first Android instance in under a second.