share_my_apk 0.4.0-beta
share_my_apk: ^0.4.0-beta copied to clipboard
Build and upload Flutter Android APKs to Diawi and Gofile.io faster than you can say 'It's compiling!' A fun and powerful CLI tool with comprehensive testing.
🚀 Share My APK #
The Ultimate Flutter APK Build & Upload Automation Tool
Stop the build-and-drag-drop dance! 💃 Your mouse deserves a break.
From code to shareable link in one command ⚡
Automate your Flutter Android APK builds and uploads with the power of magic (and some really good code)
🎯 Why Share My APK? #
😩 Before Share My APK #
|
🚀 After Share My APK #
|
✨ What Makes It Special? #
| 🏆 Feature | 🎯 Benefit | 🔥 Why It Matters |
|---|---|---|
| 🚀 One-Command Magic | share_my_apk does it all |
Save hours of manual work |
| ☁️ Multi-Provider Support | Diawi + Gofile.io | Never worry about size limits |
| 🔄 Smart Auto-Switching | Diawi → Gofile for 70MB+ files | Zero upload failures |
| 📝 Smart Configuration | YAML-based setup | Set once, use forever |
| 🛡️ Reliable & Tested | Production-ready | Works every time |
| 🎨 Flexible Organization | Custom naming & folders | Keep your builds organized |
🎉 What's New in v0.4.0-beta? #
🔥 Major Release - Production-ready and rock-solid!
🎯 Key Improvements #
✅ Fixed API Integration - Both Diawi and Gofile working perfectly
✅ Enhanced Reliability - Robust error handling and validation
✅ Smart Provider Switching - Automatic fallback for large files
✅ Better Configuration - Improved setup and usage experience
✅ Complete Documentation - Everything you need to get started
⚡ Quick Start #
1️⃣ Install #
dart pub global activate share_my_apk
2️⃣ Configure #
share_my_apk --init
3️⃣ Build & Upload #
share_my_apk
4️⃣ Share #
Get instant download link! 🔗
🛠️ Installation Options #
🌍 Global Installation #
Perfect for CLI usage across all projects |
📦 Project Dependency #
Ideal for team projects and CI/CD |
🎮 Usage Examples #
🔧 Basic Usage #
# Initialize configuration (one-time setup)
share_my_apk --init
# Build and upload with default settings
share_my_apk
# Use specific provider
share_my_apk --provider gofile
# Custom naming and environment
share_my_apk --name MyApp_Beta --environment staging
# Debug build
share_my_apk --no-release
⚙️ Advanced Configuration #
Create share_my_apk.yaml in your project root:
# Provider settings
provider: diawi
# API tokens
diawi_token: your_diawi_token_here
gofile_token: your_gofile_token_here
# Build settings
release: true
path: .
# File organization
name: MyApp_Production
environment: prod
output-dir: build/releases
🔬 Library Usage #
import 'package:share_my_apk/share_my_apk.dart';
void main() async {
// Build APK
final buildService = FlutterBuildService();
final apkPath = await buildService.build(
release: true,
customName: 'MyApp_Beta',
environment: 'staging',
);
// Upload to cloud
final uploader = UploadServiceFactory.create('gofile');
final downloadLink = await uploader.upload(apkPath);
print('🚀 Download link: $downloadLink');
}
🎯 Command Reference #
| Command | Alias | Description | Example |
|---|---|---|---|
--help |
-h |
Show help message | share_my_apk --help |
--init |
- | Generate config file | share_my_apk --init |
--path |
-p |
Project path | share_my_apk -p /my/project |
--provider |
- | Upload provider | share_my_apk --provider gofile |
--name |
-n |
Custom APK name | share_my_apk -n MyApp_Beta |
--environment |
-e |
Environment folder | share_my_apk -e staging |
--output-dir |
-o |
Output directory | share_my_apk -o build/apks |
--diawi-token |
- | Diawi API token | share_my_apk --diawi-token abc123 |
--gofile-token |
- | Gofile API token | share_my_apk --gofile-token xyz789 |
--release |
- | Release build (default) | share_my_apk --release |
--no-release |
- | Debug build | share_my_apk --no-release |
💡 Pro Tip: Share My APK automatically switches from Diawi to Gofile for files >70MB!
🛡️ Reliability & Quality #
Share My APK is production-ready and thoroughly tested to ensure it works reliably in real-world scenarios.
✅ What We've Tested #
- ✅ Large File Uploads - Successfully tested with 113MB+ APKs
- ✅ Network Resilience - Handles connection issues gracefully
- ✅ Provider Switching - Automatic fallback works seamlessly
- ✅ Edge Cases - Handles special characters, long paths, and more
- ✅ Cross-Platform - Works on Windows, macOS, and Linux
Ready for your production workflow! 🚀
📁 File Organization Magic #
Share My APK keeps your builds organized with smart naming:
output-directory/
├── environment/ # Optional environment folder
│ ├── MyApp_1.0.0_2025_07_09_14_30_45.apk
│ ├── MyApp_1.0.1_2025_07_09_15_15_30.apk
│ └── ...
├── staging/
│ ├── MyApp_Beta_1.0.0_2025_07_09_12_00_00.apk
│ └── ...
└── prod/
├── MyApp_Production_1.0.0_2025_07_09_16_45_30.apk
└── ...
Naming Pattern: {name}_{version}_{timestamp}.apk
🤝 Contributing #
We love contributions! Here's how you can help:
- 🐛 Report Bugs - Open an issue
- 💡 Request Features - Start a discussion
- 🔧 Submit Code - Create a pull request
- 📚 Improve Docs - Help make documentation better
📚 Need More Info? #
| 📖 Resource | 🎯 What's Inside |
|---|---|
| Release Notes | What's new and version history |
| Changelog | Detailed version changes |
Want to contribute? Check out our contributing guidelines!
🎉 Ready to Get Started? #
🚀 Join thousands of developers who've streamlined their APK sharing workflow! #
dart pub global activate share_my_apk
share_my_apk --init
share_my_apk
That's it! You're now sharing APKs like a pro! 🎯