A lightweight Android application that helps users manage, update, download, and uninstall applications efficiently. Built with modern Android development practices using Kotlin and Jetpack Compose.
- App Management: Easy installation, uninstallation, and updates
- Material Design 3: Modern and clean user interface
- Download Management: Efficient download handling with progress tracking
- Version Control: Track and compare installed vs latest versions
- Dark Theme: Built-in dark theme support
- Adaptive Icons: Modern Android adaptive icon support
- Background Updates: Automatic background version checking
- Kotlin
- Jetpack Compose
- Material Design 3
- Coroutines
- StateFlow
- EventBus
- OkHttp
- Coil for image loading
- AndroidX libraries
- Android Studio (latest version recommended)
- JDK 11 or higher
- Android SDK API 35
- Kotlin 2.0.0 or higher
- Clone the repository:
git clone https://github.com/nsknet/RevancedManager
-
Open Android Studio and select "Open an existing project"
-
Navigate to the cloned directory and click "OK"
-
Let Android Studio sync the project and download dependencies
-
Update local.properties with your SDK path:
sdk.dir=YOUR_ANDROID_SDK_PATH
-
In Android Studio:
- Select
Build > Make Project
or pressCtrl+F9
(Windows) /Cmd+F9
(Mac) - Select
Run > Run 'app'
or pressShift+F10
(Windows) /Ctrl+R
(Mac)
- Select
-
Using Command Line:
# Navigate to project root
cd revanced-manager
# Build debug APK
./gradlew assembleDebug
# The APK will be in app/build/outputs/apk/debug/
The release build process requires a keystore file for signing the APK. For security reasons, this keystore is not included in the repository.
You have two options to create a keystore:
a) Using Gradle task (Recommended):
# This will generate a keystore with predefined secure settings
./gradlew generateKeystore
b) Manual creation using keytool:
keytool -genkey -v -keystore release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias release
- Keep your keystore file (
.jks
) andkeystore.properties
secure - Never commit these files to version control
- Back up these files safely - losing them means you can't update your app on Play Store
You have two options to build the release APK:
a) Simple build:
./gradlew assembleRelease
# Output: app/build/outputs/apk/release/app-release.apk
b) Build with version management (Recommended):
./gradlew revancedRelease
# Output: apk/revanced_manager_v[VERSION].apk
The revancedRelease
task offers additional benefits:
- Automatically increments version number
- Names output file with version number
- Creates a dedicated 'apk' directory for releases
- Makes version tracking easier
- Prevents confusion between different builds
Example output file: revanced_manager_v2.0.1.apk
After building, verify your APK:
- Check the signature:
jarsigner -verify -verbose -certs app/build/outputs/apk/release/app-release.apk
- Test installation on a device
- Verify app functionality
- Check the version number in app settings
\app\src\main\java\com\revanced\net\revancedmanager
MainActivity.kt
: Main entry pointAppViewModel.kt
: Manages app state and business logicAppItem.kt
: Data modelsRvDownloader.kt
: Download managementAppInstaller.kt
: Installation handlingAppUninstaller.kt
: Uninstallation handlingui/
: UI components and themesutils/
: Utility classes
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- ReVanced Project
- Icons and graphics from Material Design
- Website: revanced.net
- Support: Ko-fi
- This app requires Android 7.0 (API 24) or higher
- Some features may require additional permissions
- Built targeting Android 15 (API 35)