- Android PWA/WASM launcher with glassmorphism UI - Loads https://admin.dark.side directly on launch - Complete GitLab CI/CD pipeline configuration - Automated builds for Debug, Release, and AAB - Full WASM support with optimized WebView - Material Design 3 theme - Comprehensive documentation Features: - Auto-load target URL on app launch - Glassmorphism components (frosted glass effects) - Full PWA/WASM support - Room database for future extensions - Jetpack Compose UI - CI/CD with artifact storage Built for SilverLABS
307 lines
6.5 KiB
Markdown
307 lines
6.5 KiB
Markdown
# Dark Side Admin - Custom Build Summary
|
|
|
|
## 🎯 What Was Created
|
|
|
|
A specialized version of SilverDROID that loads **`https://admin.dark.side`** directly on launch, with full WASM/PWA support and glassmorphism UI.
|
|
|
|
---
|
|
|
|
## 📦 Project Status
|
|
|
|
### ✅ Completed
|
|
- Android project structure created
|
|
- MainActivity modified to auto-load admin.dark.side
|
|
- WebView optimized for WASM/PWA
|
|
- Glassmorphism UI theme applied
|
|
- App name changed to "Dark Side Admin"
|
|
- All dependencies configured
|
|
|
|
### 📱 Ready for Compilation
|
|
The project is **ready to build** but requires:
|
|
1. **Android Studio** (to compile)
|
|
2. **Android SDK** installed
|
|
3. **JDK 17+** installed
|
|
|
|
---
|
|
|
|
## 🏗️ How to Build
|
|
|
|
### Recommended: Android Studio
|
|
|
|
1. **Open Android Studio**
|
|
- File → Open
|
|
- Navigate to: `C:\Production\Source\SilverLABS\SilverDROID`
|
|
|
|
2. **Sync Gradle** (automatic, ~2-5 minutes)
|
|
|
|
3. **Build APK**
|
|
- Build → Build Bundle(s) / APK(s) → Build APK(s)
|
|
|
|
4. **Find APK**
|
|
```
|
|
app\build\outputs\apk\debug\app-debug.apk
|
|
```
|
|
|
|
### Alternative: PowerShell Command Line
|
|
|
|
```powershell
|
|
cd C:\Production\Source\SilverLABS\SilverDROID
|
|
|
|
# First time: Create Gradle wrapper
|
|
.\gradlew.bat wrapper
|
|
|
|
# Build APK
|
|
.\gradlew.bat assembleDebug
|
|
```
|
|
|
|
---
|
|
|
|
## 🎨 What's Included
|
|
|
|
### Core Features
|
|
- ✅ **Direct URL Loading** - Opens admin.dark.side immediately
|
|
- ✅ **WASM Support** - WebAssembly fully enabled
|
|
- ✅ **PWA Features** - Service Workers, offline caching
|
|
- ✅ **DOM Storage** - LocalStorage, SessionStorage enabled
|
|
- ✅ **JavaScript** - Fully enabled
|
|
- ✅ **Mixed Content** - HTTP/HTTPS allowed (for dev)
|
|
|
|
### UI Features
|
|
- ✅ **Glassmorphism Theme** - Frosted glass effects
|
|
- ✅ **Material Design 3** - Modern Android design
|
|
- ✅ **Dark/Light Theme** - Adapts to system settings
|
|
- ✅ **Progress Indicator** - Loading states
|
|
- ✅ **Back Navigation** - Back button exits app
|
|
- ✅ **Refresh Button** - Reload the page
|
|
- ✅ **Title Bar** - Shows page title
|
|
|
|
### WebView Configuration
|
|
```kotlin
|
|
settings.javaScriptEnabled = true
|
|
settings.domStorageEnabled = true
|
|
settings.databaseEnabled = true
|
|
settings.allowFileAccess = true
|
|
settings.allowContentAccess = true
|
|
settings.mixedContentMode = MIXED_CONTENT_ALWAYS_ALLOW
|
|
settings.cacheMode = LOAD_DEFAULT
|
|
settings.setAppCacheEnabled(true)
|
|
```
|
|
|
|
---
|
|
|
|
## 📁 Key Files Modified
|
|
|
|
### MainActivity.kt
|
|
**Changed:** Now loads admin.dark.side directly instead of showing launcher
|
|
|
|
```kotlin
|
|
private val targetUrl = "https://admin.dark.side"
|
|
private val appName = "Dark Side Admin"
|
|
```
|
|
|
|
### strings.xml
|
|
**Changed:** App name from "SilverDROID" to "Dark Side Admin"
|
|
|
|
```xml
|
|
<string name="app_name">Dark Side Admin</string>
|
|
```
|
|
|
|
### All Other Files
|
|
**Unchanged:** Theme, WebView, components all intact
|
|
|
|
---
|
|
|
|
## 🔧 WebView Debugging
|
|
|
|
### Enable Chrome DevTools
|
|
|
|
1. Build and install the app
|
|
2. Open Chrome on your PC
|
|
3. Navigate to: `chrome://inspect`
|
|
4. Find "Dark Side Admin" under "Remote Target"
|
|
5. Click "inspect"
|
|
|
|
Now you have full DevTools:
|
|
- Console
|
|
- Network tab
|
|
- Elements inspector
|
|
- Performance profiler
|
|
|
|
---
|
|
|
|
## 📱 App Specifications
|
|
|
|
```yaml
|
|
Package Name: uk.silverlabs.silverdroid
|
|
App Name: Dark Side Admin
|
|
Version: 1.0.0
|
|
Min SDK: 26 (Android 8.0)
|
|
Target SDK: 35 (Android 15)
|
|
Compile SDK: 35
|
|
|
|
Target URL: https://admin.dark.side
|
|
|
|
Permissions:
|
|
- INTERNET
|
|
- ACCESS_NETWORK_STATE
|
|
- POST_NOTIFICATIONS
|
|
- Storage (for caching)
|
|
```
|
|
|
|
---
|
|
|
|
## 🚀 Installation
|
|
|
|
### On Device
|
|
1. Build the APK (see above)
|
|
2. Copy to device via USB or cloud
|
|
3. Tap the APK file
|
|
4. Allow "Install from Unknown Sources"
|
|
5. Tap "Install"
|
|
|
|
### Via ADB
|
|
```bash
|
|
adb install app/build/outputs/apk/debug/app-debug.apk
|
|
```
|
|
|
|
---
|
|
|
|
## 🔐 Security Notes
|
|
|
|
### Cleartext Traffic
|
|
Currently enabled for development. For production:
|
|
|
|
Edit `AndroidManifest.xml`:
|
|
```xml
|
|
android:usesCleartextTraffic="false"
|
|
```
|
|
|
|
### Mixed Content
|
|
Currently allows HTTP/HTTPS mixing. For production, change WebView settings:
|
|
```kotlin
|
|
settings.mixedContentMode = WebSettings.MIXED_CONTENT_NEVER_ALLOW
|
|
```
|
|
|
|
### ProGuard
|
|
Release builds use ProGuard for code obfuscation and optimization.
|
|
|
|
---
|
|
|
|
## 📊 Build Outputs
|
|
|
|
### Debug Build
|
|
- **File:** `app-debug.apk`
|
|
- **Size:** ~10-15 MB
|
|
- **Debuggable:** Yes
|
|
- **Optimized:** No
|
|
- **Location:** `app/build/outputs/apk/debug/`
|
|
|
|
### Release Build
|
|
```powershell
|
|
.\gradlew.bat assembleRelease
|
|
```
|
|
- **File:** `app-release-unsigned.apk`
|
|
- **Size:** ~8-10 MB
|
|
- **Debuggable:** No
|
|
- **Optimized:** Yes (ProGuard)
|
|
- **Location:** `app/build/outputs/apk/release/`
|
|
|
|
---
|
|
|
|
## ⚙️ Customization
|
|
|
|
### Change Target URL
|
|
Edit `MainActivity.kt` line 23:
|
|
```kotlin
|
|
private val targetUrl = "https://your-new-url.com"
|
|
```
|
|
|
|
### Change App Name
|
|
Edit `res/values/strings.xml`:
|
|
```xml
|
|
<string name="app_name">Your App Name</string>
|
|
```
|
|
|
|
### Change Package Name
|
|
1. Refactor package in Android Studio
|
|
2. Update `build.gradle.kts`:
|
|
```kotlin
|
|
applicationId = "com.yourcompany.appname"
|
|
```
|
|
|
|
---
|
|
|
|
## 🐛 Troubleshooting
|
|
|
|
### Build Errors
|
|
|
|
**"SDK location not found"**
|
|
```powershell
|
|
# Set ANDROID_HOME environment variable
|
|
$env:ANDROID_HOME = "C:\Users\YourUser\AppData\Local\Android\Sdk"
|
|
```
|
|
|
|
**"Gradle sync failed"**
|
|
1. Check internet connection
|
|
2. File → Invalidate Caches / Restart
|
|
|
|
**"JDK version incompatible"**
|
|
- Need JDK 17 or later
|
|
- Download from: https://adoptium.net/
|
|
|
|
### Runtime Errors
|
|
|
|
**"App won't load URL"**
|
|
- Check internet connection
|
|
- Verify URL is accessible in browser
|
|
- Check logcat: `adb logcat | grep SilverDROID`
|
|
|
|
**"WebView blank"**
|
|
- Clear app data: Settings → Apps → Dark Side Admin → Clear Data
|
|
- Try different URL to test
|
|
|
|
---
|
|
|
|
## 📞 Support
|
|
|
|
### Resources
|
|
- **Main README:** `README.md`
|
|
- **Build Guide:** `BUILD.md`
|
|
- **Quick Start:** `QUICKSTART.md`
|
|
- **Project Summary:** `PROJECT_SUMMARY.md`
|
|
|
|
### SilverLABS Infrastructure
|
|
- **GitLab:** https://gitlab.silverlabs.uk
|
|
- **TeamCity:** https://cis1.silverlabs.uk
|
|
- **Knowledge Base:** `~/.claude/Knowledge/`
|
|
|
|
---
|
|
|
|
## ✅ Build Checklist
|
|
|
|
- [x] Project structure created
|
|
- [x] MainActivity modified for direct load
|
|
- [x] App name changed
|
|
- [x] WebView configured for WASM
|
|
- [x] Glassmorphism theme applied
|
|
- [x] Gradle wrapper created
|
|
- [x] Build scripts ready
|
|
- [ ] **Compile in Android Studio** ← Next Step
|
|
- [ ] Install on device
|
|
- [ ] Test admin.dark.side loading
|
|
|
|
---
|
|
|
|
## 🎉 Summary
|
|
|
|
You now have a **fully configured Android project** that:
|
|
- Loads `https://admin.dark.side` on launch
|
|
- Supports WASM and PWAs
|
|
- Has beautiful glassmorphism UI
|
|
- Is ready to compile
|
|
|
|
**Next step:** Open in Android Studio and build the APK!
|
|
|
|
---
|
|
|
|
**Built for SilverLABS** | Custom Dark Side Admin Loader |