Android CamSwap

Published On: March 15, 2026
Android CamSwap

App NameAndroid CamSwap
Size9.11MB
VersionFinal
CategoryXposed Module
Android requirement+ 12
Published Byzensu357
Rating4.9 / 5
Install ViaLSposed Manager

Get Link

Thanks to the android_virtual_cam project for giving me the idea and some code to start with.

Android CamSwap is a camera module. It uses the framework. This module intercepts camera preview and photo requests from Android. It then replaces the camera feed with a video chosen by the user.

I rebuilt this project using Android tools. I used Kotlin and Jetpack Compose. I also added a way to share data between processes. This uses ContentProvider. It works with strict file permission rules in newer Android versions like Android 11 and later.

Note: If you want to know how older versions, like v2.0 worked look at the commits. This branch shows the refactored code.

✨ Key Features

  • Full API Support: Supports both Camera1 (Camera) and Camera2 (CameraDevice) APIs.
  • Video Replacement 🎥: Seamlessly replaces the camera preview feed with a specified MP4 video.
  • Audio Replacement 🎤: Option to play a custom MP3 audio file or sync with the replacement video’s audio.
  • Real-time Notification Bar Controls:
    • ⏭ Switch to the next/previous video.
    • 🔄 Quickly adjust video rotation (+90° / -90°).
    • 🎲 Random playback mode.
  • Automatic Rotation Handling: Reads rotation angle from video metadata and renders correctly via OpenGL ES, requiring no manual adjustment.
  • Cross-Process Configuration Sync:
    • Primary Path: ContentProvider IPC (does not require storage permissions on the target app).
    • Fallback Path: Direct file reading + App cold-start pre-warming, completely resolving issues with configurations not being ready during cold starts.
  • Target App Filtering: Allows the module to take effect only in specified applications.
  • Modern UI: Management interface built with Material Design 3 and Jetpack Compose.

📱 Requirements

  • Android Version: Android 8.0 (API 26) and above (Android 11+ is highly recommended).
  • Root Permission: Required.
  • Xposed Framework: LSPosed is recommended (Zygisk or Riru versions both work).

🚀 Installation and Usage

1. Install the Module

  1. Download the latest Release APK. It is recommended to choose the package that matches your device architecture: most devices use arm64-v8a.
  2. Install the APK on your Android device.
  3. Enable the module in your LSPosed manager.
  4. Scope Selection:
    • Highly Recommended: Check “System Framework” for the best compatibility.
    • Alternatively: Only check the specific target apps you want to replace the camera for (e.g., Camera, WeChat, TikTok, etc.).
  5. Reboot your phone (or force restart the target app’s process).

2. Configure Media

  1. Open the CamSwap app and grant the necessary file read/write permissions.
  2. Go to the “Manage” page to import your MP4 video media.
  3. Go to the “Settings” page to select the default video, configure audio replacement, and enable options like notification bar controls.

3. Start Using

  1. Open any app that uses the camera, and the preview feed will be replaced by your selected video.
  2. Tip: If the video orientation is incorrect, you can fine-tune it using the rotation buttons in the notification bar, or manually input a rotation offset angle in the app settings.

⚠️ Disclaimer

  • This project is intended strictly for security research, software testing, and educational purposes.
  • Do not use this project for any illegal activities (including but not limited to facial recognition bypass, identity fraud, etc.).
  • Users must bear all legal responsibilities arising from the use of this project.

Shakil Hassan Joy

Assalamu Alaikum, I am a content writer and a junior Android developer. From a young age, I have always loved working with technology. At one point, I used to port many custom ROMs, but now I am mainly focused on developing Magisk modules. Please keep me in your prayers. Thank you.