301 lines
11 KiB
Markdown
301 lines
11 KiB
Markdown
# BotOS - Android & HarmonyOS powered by General Bots
|
|
|
|
**BotOS** transforma qualquer Android ou HarmonyOS em um sistema dedicado ao General Bots, removendo todo bloatware de fabricantes (Samsung, Huawei, Xiaomi, Honor, etc) e substituindo pela interface GB.
|
|
|
|
## Plataformas Suportadas
|
|
|
|
### Mobile
|
|
- **Android** (AOSP, Samsung One UI, Xiaomi MIUI, etc)
|
|
- **HarmonyOS** (Huawei, Honor)
|
|
|
|
### Embedded / IoT
|
|
- **Raspberry Pi** (Zero, 3, 4, 5) - Linux com display LCD/HDMI
|
|
- **Orange Pi** - Alternativa econômica ao Raspberry
|
|
- **Banana Pi** - Boards ARM com display
|
|
- **BeagleBone** - Industrial IoT
|
|
- **Arduino** (com ESP32/ESP8266) - Display OLED/LCD + WiFi
|
|
- **ESP32** - Displays TFT/OLED
|
|
- **Rock Pi** - Boards RK3399/RK3588
|
|
- **NVIDIA Jetson** - AI no edge com display
|
|
- **LattePanda** - x86 embedded
|
|
- **ODROID** - Boards Hardkernel
|
|
|
|
### Displays Suportados
|
|
- LCD Character (16x2, 20x4)
|
|
- OLED (128x64, 128x32)
|
|
- TFT/IPS (320x240, 480x320, 800x480)
|
|
- E-ink/E-paper
|
|
- HDMI (qualquer resolução)
|
|
|
|
## Níveis de Instalação
|
|
|
|
| Nível | Requisitos | O que faz |
|
|
|-------|-----------|-----------|
|
|
| **1** | Apenas ADB | Remove bloatware, instala BotOS como app |
|
|
| **2** | Root + Magisk | Boot animation GB, BotOS como system app |
|
|
| **3** | Bootloader desbloqueado | Substitui Android inteiro por BotOS |
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
cd botos/rom
|
|
./install.sh
|
|
```
|
|
|
|
O instalador detecta automaticamente o dispositivo e mostra as opções disponíveis.
|
|
|
|
## Arquitetura
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ NÍVEL 3: GSI │
|
|
│ ┌─────────────────────────────────────────────────────────────────────────┐│
|
|
│ │ Android AOSP customizado - Zero apps de fabricante ││
|
|
│ │ Boot animation GB desde inicialização ││
|
|
│ │ BotOS integrado como launcher único ││
|
|
│ └─────────────────────────────────────────────────────────────────────────┘│
|
|
├─────────────────────────────────────────────────────────────────────────────┤
|
|
│ NÍVEL 2: MAGISK MODULE │
|
|
│ ┌─────────────────────────────────────────────────────────────────────────┐│
|
|
│ │ Android original + Magisk ││
|
|
│ │ Bloatware removido via overlay ││
|
|
│ │ Boot animation GB ││
|
|
│ │ BotOS como system app privilegiado ││
|
|
│ └─────────────────────────────────────────────────────────────────────────┘│
|
|
├─────────────────────────────────────────────────────────────────────────────┤
|
|
│ NÍVEL 1: DEBLOAT + APP │
|
|
│ ┌─────────────────────────────────────────────────────────────────────────┐│
|
|
│ │ Android original (Samsung/Huawei/Xiaomi/etc) ││
|
|
│ │ Bloatware removido via ADB (sem root) ││
|
|
│ │ BotOS instalado como app normal ││
|
|
│ │ Pode ser definido como launcher padrão ││
|
|
│ └─────────────────────────────────────────────────────────────────────────┘│
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ BotOS App (Tauri) │
|
|
├─────────────────────────────────────────────────────────────────────────────┤
|
|
│ botui/ui/suite │ Tauri Android │ src/lib.rs (Rust) │
|
|
│ (Interface Web) │ (WebView + NDK) │ (Backend + Hardware) │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
## Estrutura do Projeto
|
|
|
|
```
|
|
botos/
|
|
├── Cargo.toml # Dependências Rust/Tauri
|
|
├── tauri.conf.json # Config Tauri → botui/ui/suite
|
|
├── build.rs # Build script
|
|
├── src/lib.rs # Entry point Android
|
|
│
|
|
├── icons/
|
|
│ ├── gb-bot.svg # Ícone fonte
|
|
│ ├── icon.png (512x512) # Ícone principal
|
|
│ └── */ic_launcher.png # Ícones por densidade
|
|
│
|
|
├── scripts/
|
|
│ ├── generate-icons.sh # Gera PNGs do SVG
|
|
│ └── create-bootanimation.sh # Gera animação de boot
|
|
│
|
|
├── capabilities/
|
|
│ └── default.json # Permissões Tauri
|
|
│
|
|
├── gen/android/ # Projeto Android gerado
|
|
│ └── app/src/main/
|
|
│ ├── AndroidManifest.xml # HOME intent (launcher)
|
|
│ └── res/values/themes.xml # Tema dark GB
|
|
│
|
|
└── rom/ # Tools de instalação
|
|
├── install.sh # Instalador interativo
|
|
├── scripts/
|
|
│ ├── debloat.sh # Remove bloatware (sem root)
|
|
│ └── build-magisk-module.sh # Gera módulo Magisk
|
|
└── gsi/
|
|
├── README.md # Instruções GSI/AOSP
|
|
└── device/pragmatismo/botos/ # Device tree AOSP
|
|
```
|
|
|
|
## Pré-requisitos
|
|
|
|
### Para compilar BotOS App
|
|
|
|
```bash
|
|
# Rust e Android targets
|
|
rustup target add aarch64-linux-android armv7-linux-androideabi
|
|
|
|
# Android SDK e NDK
|
|
export ANDROID_HOME=$HOME/Android/Sdk
|
|
export NDK_HOME=$ANDROID_HOME/ndk/25.2.9519653
|
|
|
|
# Tauri CLI
|
|
cargo install tauri-cli
|
|
```
|
|
|
|
### Para instalar em dispositivos
|
|
|
|
```bash
|
|
# ADB
|
|
sudo apt install adb
|
|
|
|
# Para gerar ícones/boot animation
|
|
sudo apt install librsvg2-bin imagemagick
|
|
```
|
|
|
|
## Compilação
|
|
|
|
```bash
|
|
cd botos
|
|
|
|
# Gerar ícones
|
|
./scripts/generate-icons.sh
|
|
|
|
# Inicializar projeto Android
|
|
cargo tauri android init
|
|
|
|
# Build APK
|
|
cargo tauri android build --release
|
|
```
|
|
|
|
## Instalação
|
|
|
|
### Método Rápido (Interativo)
|
|
|
|
```bash
|
|
cd botos/rom
|
|
chmod +x install.sh
|
|
./install.sh
|
|
```
|
|
|
|
### Método Manual
|
|
|
|
#### Nível 1: Debloat + App (Sem Root)
|
|
|
|
```bash
|
|
# Conectar dispositivo via USB (debug ativo)
|
|
cd botos/rom/scripts
|
|
./debloat.sh
|
|
|
|
# Instalar APK
|
|
adb install ../gen/android/app/build/outputs/apk/release/app-release.apk
|
|
|
|
# Definir como launcher: Home → BotOS → Sempre
|
|
```
|
|
|
|
#### Nível 2: Magisk Module (Com Root)
|
|
|
|
```bash
|
|
# Gerar módulo
|
|
cd botos/rom/scripts
|
|
./build-magisk-module.sh
|
|
|
|
# Copiar para dispositivo
|
|
adb push botos-magisk-v1.0.zip /sdcard/
|
|
|
|
# No celular: Magisk → Modules → + → Selecionar ZIP → Reboot
|
|
```
|
|
|
|
#### Nível 3: GSI (Bootloader Desbloqueado)
|
|
|
|
Veja instruções detalhadas em `rom/gsi/README.md`.
|
|
|
|
## Bloatware Removido
|
|
|
|
O debloat remove automaticamente:
|
|
|
|
**Samsung One UI:**
|
|
- Bixby, Samsung Pay, Samsung Pass
|
|
- Apps duplicados (Email, Calendar, Browser)
|
|
- AR Zone, Game Launcher
|
|
|
|
**Huawei EMUI/HarmonyOS:**
|
|
- AppGallery, HiCloud, HiCar
|
|
- Huawei Browser, Music, Video
|
|
- Petal Maps, Petal Search
|
|
- AI Life, HiSuite
|
|
|
|
**Honor MagicOS:**
|
|
- Honor Store, MagicRing
|
|
- Honor Browser, Music
|
|
|
|
**Xiaomi MIUI:**
|
|
- MSA (analytics), Mi Apps
|
|
- GetApps, Mi Cloud
|
|
|
|
**Universal (todos):**
|
|
- Facebook, Instagram pré-instalados
|
|
- Netflix, Spotify pré-instalados
|
|
- Jogos como Candy Crush
|
|
|
|
## Boot Animation
|
|
|
|
Para customizar a animação de boot (requer root):
|
|
|
|
```bash
|
|
# Gerar animação
|
|
./scripts/create-bootanimation.sh
|
|
|
|
# Instalar (root)
|
|
adb root
|
|
adb remount
|
|
adb push bootanimation.zip /system/media/
|
|
adb reboot
|
|
```
|
|
|
|
## Desenvolvimento
|
|
|
|
```bash
|
|
# Dev mode (conecta ao dispositivo)
|
|
cargo tauri android dev
|
|
|
|
# Logs
|
|
adb logcat -s BotOS:*
|
|
```
|
|
|
|
## Parceria China
|
|
|
|
BotOS foi criado para vendas/parcerias na China, oferecendo:
|
|
- Celulares com sistema "limpo" - sem bloatware
|
|
- Interface única conectada ao General Bots
|
|
- Experiência simplificada para usuários finais
|
|
- Controle total do dispositivo
|
|
- Suporte a dispositivos HarmonyOS (Huawei/Honor)
|
|
- Dispositivos IoT/Embedded (Raspberry Pi, ESP32, etc)
|
|
- Quiosques e terminais de autoatendimento
|
|
|
|
## Interface Embedded (LCD/Teclado)
|
|
|
|
Para dispositivos com recursos limitados, use a interface embedded em `botui/ui/embedded/`:
|
|
|
|
```bash
|
|
# Raspberry Pi com display LCD
|
|
chromium-browser --kiosk --app=http://localhost:8088/embedded/
|
|
|
|
# ESP32 com display TFT (via WebView)
|
|
# Configure BOTSERVER_URL no firmware
|
|
|
|
# Terminal character mode
|
|
# Use botui/ui/embedded/ com CONFIG.maxMsgLen ajustado
|
|
```
|
|
|
|
### Características da Interface Embedded
|
|
- Otimizada para displays 320x240 até 16x2 caracteres
|
|
- Alto contraste (verde/preto, e-ink)
|
|
- Baixo consumo de memória (max 10 mensagens)
|
|
- Navegação por teclado (Enter envia, Esc limpa)
|
|
- Reconexão automática
|
|
|
|
## Recursos
|
|
|
|
- 🏠 **Launcher Mode**: Substitui home screen
|
|
- 🤖 **Interface Chat**: botui/ui/suite
|
|
- 🦀 **Backend Rust**: Via Tauri
|
|
- 📍 **GPS**: Acesso a localização
|
|
- 📷 **Câmera**: Via plugins Tauri
|
|
- 🔔 **Notificações**: Push notifications
|
|
- 🌐 **Internet**: Comunicação com botserver
|
|
- 🎨 **Boot Animation**: Customizável com gb-bot.svg
|
|
|
|
## Licença
|
|
|
|
AGPL-3.0
|