I've created a complete Android TWA (Trusted Web Activity) project that will wrap your EduPortal web app as a native APK.
d:\EduPortal\android_twa\
├── build.gradle # Project build config
├── settings.gradle # Project settings
├── gradle.properties # Gradle properties
├── app/
│ ├── build.gradle # App build config
│ ├── src/main/
│ │ ├── AndroidManifest.xml # App permissions & config
│ │ ├── java/com/eduportal/twa/
│ │ │ └── LauncherActivity.kt # Main launcher
│ │ └── res/
│ │ ├── values/
│ │ │ ├── strings.xml # URLs & app name
│ │ │ ├── colors.xml # App colors
│ │ │ └── themes.xml # App themes
│ │ └── xml/
│ │ ├── file_paths.xml # File provider config
│ │ ├── backup_rules.xml # Backup rules
│ │ └── data_extraction_rules.xml
│ └── proguard-rules.pro # Code obfuscation rules
└── README.md # Build instructions
- ✅ Native APK that opens your EduPortal
- ✅ Offline caching via Service Worker
- ✅ Push notifications support
- ✅ Native splash screen
- ✅ Full-screen experience (no browser UI)
- ✅ App icon on home screen
- ✅ Professional native feel
Open android_twa/app/src/main/res/values/strings.xml and change:
<string name="launch_url">http://YOUR_IP:5000</string>
<string name="host_name">YOUR_IP</string>- Open
android_twafolder in Android Studio - Build → Build APK(s)
- Install on Android device
- Add HTTPS to your Flask app
- Create signed APK
- Publish to Play Store
- Real-time updates via WebSocket
- Offline storage via Service Worker
- Native messaging via push notifications
- Zero code changes to your web app
- 100% free (Android Studio + TWA library)
The project is ready to build! Just update your server IP and you'll have a native APK in minutes.