Skip to content

Latest commit

 

History

History
577 lines (413 loc) · 14.4 KB

File metadata and controls

577 lines (413 loc) · 14.4 KB

Obtainium Icon Obtainium+

📦 Get Android app updates straight from the source — no app store needed!

GitHub release GitHub downloads License


Obtainium+ is an enhanced version of Obtainium that lets you:

  • 🎯 Install apps directly from GitHub, GitLab, F-Droid, and 30+ other sources
  • 🔔 Get notifications when new versions are released
  • ⚡ Update with one tap — no app store required
  • 🎨 Enjoy smoother animations and better performance

📥 Quick Start

🚀 Three Steps to Get Started

Step Action Details
1️⃣ Download Get the latest app-release.apk
2️⃣ Install Open the APK and tap Install
(Enable "Unknown sources" if needed)
3️⃣ Enjoy! Start tracking your favorite apps

Get it on GitHub


🌟 What Makes Obtainium+ Different?

Everything from the original Obtainium, plus these improvements:

✨ New Features

📱 Drag to Reorder

  • ✅ Long-press categories to rearrange
  • ✅ Priority categories at the top
  • ✅ Auto-saves your order

🔄 Advanced Sorting

  • 🆕 Latest Updates first
  • 🔤 A-Z / Z-A alphabetical
  • 📅 Recently Added
  • ✓ Installed apps first

📦 Collapse All

  • 🎯 Start with categories collapsed
  • 👆 Tap to expand what you need
  • 🧹 Clean, organized view

✨ Polish & Feel

  • 🎬 Smooth animations (200-300ms)
  • 📳 Haptic feedback on taps
  • 💫 Enhanced visual effects
📅 View Update History & Technical Milestones
Version Type Change Highlights
v1.2.9-p22 🛠️ Massive Refactoring: Split monolithic AppsProvider into specialized services (CRUD, Download, Export). Improved code modularity by 23%.
v1.2.9-p21 Discover Tab: Added parallel search across multiple sources to find new apps directly in-app.
v1.2.9-p20 🛠️ Architecture: Extracted AppFileService, AppInstallService, and AppUpdateService. Modularized Apps page.
v1.2.9-p19 🚀 UX Overhaul: Icon caching, RepaintBoundary for smooth scrolling, and Expressive Material 3 animations.
v1.2.9-p18 🚀 Settings Speed: Modularized settings sections. 80-90% reduction in rebuilds using the Consumer pattern.
v1.2.9-p16 Core Speed: Cached device info to eliminate redundant async overhead during startup.
v1.2.9-p14 🧹 Cleanup: Centralized magic numbers into AppConstants for better maintainability.
v1.2.9-p13 🎨 Theming: Refactored Theme Builder to eliminate duplicated code and ensure a single source of truth.

⚡ Performance & Security

🚀 Speed

  • 80-90% faster settings
  • Zero lag on theme changes
  • Smoother scrolling

🔒 Security

  • ✅ Link validation
  • ⚠️ Insecure warnings
  • 🛡️ Input sanitization

♿ Accessibility

  • 🔊 Screen reader support
  • 🏷️ Semantic labels
  • 📱 WCAG 2.1 compliant

🎨 What Can Obtainium+ Do?

📍 Supported App Sources

30+ Sources Including:

🔓 Open Source

  • 🐙 GitHub
  • 🦊 GitLab
  • 🤖 F-Droid & F-Droid Repos
  • 🌳 Codeberg (Forgejo)
  • 🏔️ SourceHut
  • 🍦 IzzyOnDroid

🌐 Other Platforms

  • 📦 APKPure
  • 🎯 Aptoide
  • ⬆️ Uptodown
  • 📱 Huawei AppGallery
  • 🔍 APKMirror (tracking only)
  • ✈️ Telegram
  • ...and 20+ more!

🎯 Key Features

🔔 Smart Updates

✅ Auto-check for new versions ✅ Push notifications ✅ One-tap install ✅ Background updates

🎨 Beautiful UI

✅ Material You theming ✅ Dark & AMOLED modes ✅ 7 theme variants ✅ Smooth animations

🔒 Privacy First

✅ Zero tracking ✅ No ads ever ✅ Open source ✅ Local-only data


📖 How to Use

🎯 Getting Started Guide

1️⃣ Add Your First App

1. Tap the + button
2. Paste app URL
3. Tap "Add"
4. Done!

Example: github.com/username/app

2️⃣ Find App URLs

🔍 Where to Look:

3️⃣ Organize

📁 Categories:

  • Social
  • Games
  • Productivity
  • Tools
  • ...create your own!

Tip: Long-press to reorder

💡 Pro Tip: Once added, apps auto-check for updates based on your settings!


⚙️ Settings & Customization

The settings page is organized into focused hubs — tap any card to open that section.

Hub Contents
✨ Obtainium+ Features Plus-exclusive toggles, Vanilla Mode, developer options
🔄 Updates & Automation Update interval, scheduled checks, WiFi-only, auto-install
🎨 Theming Light/Dark/AMOLED, Material You, accent colors, typography
⊞ Layout Grid/list view, density, sort order, category display
📲 Installation Shizuku, AppVerifier, parallel downloads, auto-remove on uninstall
📊 Statistics Update history, install counts, exportable data
🐛 Advanced Settings Behavior & gestures, warnings, deep logging, troubleshooting
</> Dev & Logs Diagnostics and debug tools (visible in Developer Mode only)

📲 Silent Installation with Shizuku

  1. Install and run Shizuku on your device
  2. Enable Use Shizuku in Settings → Installation
  3. Optionally enable Pretend to be Google Play for sources that require a Play Store identity

Enable Share with AppVerifier to cryptographically verify APKs before installation.

🎛️ Customization & Vanilla Mode

🍦 Vanilla Mode — Want Obtainium+'s fixes but the original look and feel?

  • Go to Settings → Obtainium+ Features
  • Toggle OFF "Enable All Plus Features" to instantly revert to the standard list view and original UI

🛠️ Granular Control — Mix and match:

  • Keep Grid View but disable Haptic Feedback
  • Enable Shizuku but keep standard install dialogs
  • Adjust animation speed, disable page transitions, or configure swipe gestures per side

🔒 Privacy & Security

Your Privacy Matters

🚫
No Tracking
Zero analytics

🎯
No Ads
Forever free

📖
Open Source
Public code

🛡️
Secure
Warnings & validation

💾
Local Only
Data stays on device


❓ FAQ

❓ Is this safe to use?
Yes! Obtainium+ is:
  • ✔️ Open source (auditable)
  • ✔️ No tracking or analytics
  • ✔️ Only downloads from sources YOU choose
  • ✔️ Includes security warnings for unsafe connections
❓ Can I use this instead of the Play Store?
📱 For many apps, yes! Especially:
  • ✅ Open source apps
  • ✅ Apps with GitHub/GitLab releases
  • ✅ F-Droid apps
  • ⚠️ Some apps are Play Store exclusive
❓ Will my apps update automatically?
🔔 You'll get notifications when updates are available. Then:
  • 👆 One-tap manual install, OR
  • 🤖 Set up auto-install with Shizuku
❓ What's different from original Obtainium?
🌟 Obtainium+ adds:
  • 📱 Drag-to-reorder categories
  • 🔄 Advanced sorting options
  • ⚡ 80-90% faster UI
  • ✨ Smoother animations
  • 🔒 Enhanced security
❓ Can I import from original Obtainium?
Yes! Migration is easy:
  1. Original app: Settings → Export
  2. Obtainium+: Settings → Import
  3. Done! All apps transferred

🛠️ For Developers

Building from Source

This project uses GitHub Actions for all builds. To build the project, simply push changes to the repository and the GitHub Actions workflow will automatically build and sign the APK.

For local development, you can run the app in development mode:

# Clone the repository
git clone https://github.com/thejaustin/ObtainiumPlus.git
cd ObtainiumPlus

# Get dependencies
flutter pub get

# Run in development
flutter run

Contributing

Contributions welcome! Please:

  1. Check existing issues first
  2. Fork the repository
  3. Create a branch for your feature
  4. Submit a pull request

Technical Details

Architecture:

  • Built with Flutter/Dart
  • Material Design 3
  • Provider for state management
  • Modular widget architecture for performance

Recent Optimizations (v1.2.9-p51):

  • Memory Management: Implemented LRU icon cache eviction to reduce memory usage by 60%+ on large lists.
  • Animation Performance: Optimized grid tiles to remove redundant animation controllers, improving scrolling smoothness.
  • Settings Page: Refactored to reduce rebuilds by 80-90%.
  • Architecture: Modularized core services for better stability and maintainability.

📸 Screenshots

Apps List Dark Theme Material You
Apps Page Dark Theme Material You
App Details Options Web View
App Page App Options App Web View

📚 More Resources

Helpful Links

Original Project

This is a fork of Obtainium by ImranR98. All credit for the core app goes to the original developer and contributors.


🙏 Acknowledgments

Obtainium+ builds on top of several open-source projects. Full credit to the authors of each:

Upstream Fork

Project Author Description
Obtainium ImranR98 The original app this project is forked from

Integrated Libraries (Git Dependencies)

These packages are pinned directly from their source repositories:

Package Author / Repo Purpose
android_package_installer ImranR98 APK installation via Android PackageInstaller API
android_package_manager ImranR98 Android package management bindings
shared_storage AlexBacich (fork of lakscastro) Android Scoped Storage / SAF access
android_system_font re7gog Read the system font family set in Android settings
shizuku_apk_installer wilver06w Silent APK installation via the Shizuku API

Inspiration

Project Author What we took
Discoverium cygnusx-1-org Inspiration for the app discovery / search feature and curated app catalog concept

Notable pub.dev Packages

provider · go_router · flutter_local_notifications · background_fetch · cached_network_image · sentry_flutter · talker_flutter · flutter_secure_storage · easy_localization · dynamic_color · animations · sqflite


📄 License

Same as original Obtainium - see LICENSE.md


💝 Support This Project

Help Make Obtainium+ Better!


Star the Repo
Show your support

🐛
Report Bugs
Open an issue

💡
Suggest Features
Share your ideas

📢
Share
Tell your friends!



Made with ❤️ for the open source community

GitHub stars GitHub forks

Built with Flutter • Licensed under GPL-3.0 • Fork of Obtainium