xCam - Universal Virtual Camera Xposed Module

xCam is a high-performance, universal Xposed module built with the modern LibXposed API (API 101). It allows users to replace live camera feeds and actual photo captures with virtual media sources across a wide range of Android applications, from legacy devices to the latest Android 16.

🚀 Key Features

  • Universal OS Support (Android 9 - 16): Built with a hybrid architecture that automatically adapts to the device's API level (API 28 to API 37).
  • Supports:
    • Legacy (API 28-30): Uses high-stability Camera1 hooks and Legacy Camera2 produceFrame hijacking for Android 9, 10, and 11.
    • Modern (API 31-37): Features Surgical Diversion and OutputConfiguration Swapping to bypass the strict security of Android 12 through Android 16.
  • Universal Capture: A revolutionary BitmapFactory interception system that ensures 100% success in replacing captured photo data across almost any application.

📊 Feature Availability

Android System Video Image Rotate Mirror
Legacy (Android 9 - 11)
Modern (Android 12 - 16)

Tip

Video (.mp4) support is fully optimized for stability. Image (.jpg) support is currently in development and will be released in upcoming updates.

📦 Installation

Rooted Environments

  1. Install the xCam APK.
  2. Enable the module in your Xposed manager (e.g., LSPosed, Vector).
  3. Select the target applications in the module scope.
  4. Force stop and restart the selected applications.

Non-Rooted Environments

  1. Patch your target application using a tool like LSPatch.
  2. Install the patched application and the xCam manager.

⚖️ License

This project is licensed under the GNU General Public License v3.0.

Copyright (C) 2026 hazbu

⚠️ Disclaimer

This module is intended for educational and development purposes only. Use it responsibly and at your own risk. The developer is not responsible for any misuse or breaches of third-party service terms.

Releases

v1.0

Stable

8/14/2026, 4:01:57 AM

Convert image to video for better compability for various apps

Assets

1

v0.9

Stable

8/11/2026, 6:15:12 AM

Now using fit center instead center crop

Assets

1

v0.8

Stable

8/10/2026, 11:31:37 AM

Update version to v22 and remove unused engine stop logic

  • Bump xcamVersion to v22-master.
  • Remove stopEngineWithDelay and its associated uiHandler logic for stopping the camera engine.
  • Clean up unused imports, including Bitmap, PixelCopy, ByteArrayOutputStream, and BitmapFactory, across XCamModule and XCamInjectors.
  • Enhance null safety in isIgnoringHooks by providing a default value for the ThreadLocal state.
  • Apply minor code formatting and trailing comma adjustments in XCamCapture and XCamModule.

Assets

1

v0.7

Stable

8/9/2026, 3:58:55 AM

Update version to v18.1-clean and refactor injector architecture

  • Centralize module installation logic in XCamInjectors with streamlined OS version detection.
  • Refine the "Universal Hunter" BitmapFactory hook with improved argument replacement logic and more robust logging.
  • Introduce UIFallbackHooks in the modern engine to support TextureView and SurfaceView based applications.
  • Update README.md to include a feature availability matrix and clarify current support status for video and image media.
  • Improve process name detection on Android 12+ using Application.getProcessName().
  • Refactor XCamModule to clean up unused state variables, redundant comments, and engine stop logic.
  • Enhance XCamInjectorsModern session discovery to automatically clear preview surfaces when a new capture session is initiated.
  • Minor cleanup in XCamRenderer and legacy injectors to improve error handling and API usage.

Assets

1

v0.6

Stable

8/8/2026, 8:22:43 PM

Update README for v17.5-Stable and document new injection techniques

  • Update the module version to v17.5-Stable and expand documented OS support to include Android 9 through Android 16 (APIs 28-37).
  • Define the Dual-Engine Pipeline, distinguishing between the Legacy Engine (APIs 28-30) and the Modern Engine (APIs 31-37).
  • Document "The Hunter Hook," a new universal capture system utilizing BitmapFactory interception.
  • Introduce "Surgical Target Diversion" logic to describe how preview streams are redirected without hanging photo capture sessions.
  • Clarify installation steps for both rooted and non-rooted environments, specifically mentioning LSPosed, Vector, and LSPatch.
  • Simplify usage instructions and refine feature descriptions for clarity.
  • Update the project disclaimer and license section.

Assets

1

v0.5

Stable

8/8/2026, 6:10:35 AM

Update versioning logic to support Gradle project properties

  • Modify versionCode and versionName assignment in build.gradle.kts to prioritize Gradle project properties before falling back to environment variables.

Assets

1

v0.4

Stable

8/7/2026, 4:30:42 AM

Migrate to LibXposed API and update documentation

  • Update ProGuard rules to support the LibXposed API (101) and remove legacy de.robv.android.xposed references.
  • Add specific keep rules for XCamModule constructors, MainActivity helper methods, and io.github.libxposed interfaces.
  • Update README.md to highlight the transition to a modern LibXposed architecture.
  • Expand documentation to include support for newer frameworks like Vector and NPatch.
  • Add details to the README regarding real-time status tracking and active scope display features.
  • Refine installation and usage instructions to reflect the updated module behavior and activation status.

Assets

1

v0.3

Stable

8/7/2026, 12:31:14 AM

Update Xposed minimum version and remove package scope

  • Increment xposedminversion to 101 in AndroidManifest.xml to align with the current xposedapi version.
  • Remove scope.list from Xposed resources to eliminate package-specific scoping restrictions.

Assets

1

v0.2

Stable

8/4/2026, 7:42:27 AM

Migrate to libxposed service API and enhance module status UI

  • Replace manual framework provider queries with the official libxposed service API for detecting active scopes.
  • Implement XposedServiceHelper.OnServiceListener in MainActivity to dynamically update module status and retrieve the official app scope.
  • Refactor the main UI to use MaterialCardView containers for module status and active scopes, adding a HorizontalScrollView for better app icon display.
  • Update XCamModule to use modern libxposed hook syntax and priority-based logging, removing legacy manual activity registration logic.
  • Register XposedProvider in AndroidManifest.xml and update dependencies to include libxposed-service.
  • Clean up Constants, SettingsProvider, and string resources by removing deprecated scope-tracking keys and manual framework authority checks.
  • Improve UI feedback with theme-aware colors for active/inactive states and updated iconography spacing.

Assets

1