SilverDROID - Dark Side Admin with CI/CD pipeline
- 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
This commit is contained in:
307
DARK_SIDE_BUILD.md
Normal file
307
DARK_SIDE_BUILD.md
Normal file
@@ -0,0 +1,307 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user