Translate README to English
This commit is contained in:
parent
d88331e570
commit
79140e9eb3
1 changed files with 119 additions and 119 deletions
238
README.md
238
README.md
|
|
@ -1,39 +1,39 @@
|
||||||
# BotOS - Android & HarmonyOS powered by General Bots
|
# 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.
|
**BotOS** transforms any Android or HarmonyOS device into a dedicated General Bots system, removing all manufacturer bloatware (Samsung, Huawei, Xiaomi, Honor, etc) and replacing it with the GB interface.
|
||||||
|
|
||||||
## Plataformas Suportadas
|
## Supported Platforms
|
||||||
|
|
||||||
### Mobile
|
### Mobile
|
||||||
- **Android** (AOSP, Samsung One UI, Xiaomi MIUI, etc)
|
- **Android** (AOSP, Samsung One UI, Xiaomi MIUI, etc)
|
||||||
- **HarmonyOS** (Huawei, Honor)
|
- **HarmonyOS** (Huawei, Honor)
|
||||||
|
|
||||||
### Embedded / IoT
|
### Embedded / IoT
|
||||||
- **Raspberry Pi** (Zero, 3, 4, 5) - Linux com display LCD/HDMI
|
- **Raspberry Pi** (Zero, 3, 4, 5) - Linux with LCD/HDMI display
|
||||||
- **Orange Pi** - Alternativa econômica ao Raspberry
|
- **Orange Pi** - Budget Raspberry alternative
|
||||||
- **Banana Pi** - Boards ARM com display
|
- **Banana Pi** - ARM boards with display
|
||||||
- **BeagleBone** - Industrial IoT
|
- **BeagleBone** - Industrial IoT
|
||||||
- **Arduino** (com ESP32/ESP8266) - Display OLED/LCD + WiFi
|
- **Arduino** (with ESP32/ESP8266) - OLED/LCD display + WiFi
|
||||||
- **ESP32** - Displays TFT/OLED
|
- **ESP32** - TFT/OLED displays
|
||||||
- **Rock Pi** - Boards RK3399/RK3588
|
- **Rock Pi** - RK3399/RK3588 boards
|
||||||
- **NVIDIA Jetson** - AI no edge com display
|
- **NVIDIA Jetson** - Edge AI with display
|
||||||
- **LattePanda** - x86 embedded
|
- **LattePanda** - x86 embedded
|
||||||
- **ODROID** - Boards Hardkernel
|
- **ODROID** - Hardkernel boards
|
||||||
|
|
||||||
### Displays Suportados
|
### Supported Displays
|
||||||
- LCD Character (16x2, 20x4)
|
- LCD Character (16x2, 20x4)
|
||||||
- OLED (128x64, 128x32)
|
- OLED (128x64, 128x32)
|
||||||
- TFT/IPS (320x240, 480x320, 800x480)
|
- TFT/IPS (320x240, 480x320, 800x480)
|
||||||
- E-ink/E-paper
|
- E-ink/E-paper
|
||||||
- HDMI (qualquer resolução)
|
- HDMI (any resolution)
|
||||||
|
|
||||||
## Níveis de Instalação
|
## Installation Levels
|
||||||
|
|
||||||
| Nível | Requisitos | O que faz |
|
| Level | Requirements | What it does |
|
||||||
|-------|-----------|-----------|
|
|-------|-------------|--------------|
|
||||||
| **1** | Apenas ADB | Remove bloatware, instala BotOS como app |
|
| **1** | ADB only | Removes bloatware, installs BotOS as app |
|
||||||
| **2** | Root + Magisk | Boot animation GB, BotOS como system app |
|
| **2** | Root + Magisk | GB boot animation, BotOS as system app |
|
||||||
| **3** | Bootloader desbloqueado | Substitui Android inteiro por BotOS |
|
| **3** | Unlocked bootloader | Replaces entire Android with BotOS |
|
||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
|
|
@ -42,33 +42,33 @@ cd botos/rom
|
||||||
./install.sh
|
./install.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
O instalador detecta automaticamente o dispositivo e mostra as opções disponíveis.
|
The installer automatically detects the device and shows available options.
|
||||||
|
|
||||||
## Arquitetura
|
## Architecture
|
||||||
|
|
||||||
```
|
```
|
||||||
┌─────────────────────────────────────────────────────────────────────────────┐
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
||||||
│ NÍVEL 3: GSI │
|
│ LEVEL 3: GSI │
|
||||||
│ ┌─────────────────────────────────────────────────────────────────────────┐│
|
│ ┌─────────────────────────────────────────────────────────────────────────┐│
|
||||||
│ │ Android AOSP customizado - Zero apps de fabricante ││
|
│ │ Custom Android AOSP - Zero manufacturer apps ││
|
||||||
│ │ Boot animation GB desde inicialização ││
|
│ │ GB boot animation from startup ││
|
||||||
│ │ BotOS integrado como launcher único ││
|
│ │ BotOS integrated as single launcher ││
|
||||||
│ └─────────────────────────────────────────────────────────────────────────┘│
|
│ └─────────────────────────────────────────────────────────────────────────┘│
|
||||||
├─────────────────────────────────────────────────────────────────────────────┤
|
├─────────────────────────────────────────────────────────────────────────────┤
|
||||||
│ NÍVEL 2: MAGISK MODULE │
|
│ LEVEL 2: MAGISK MODULE │
|
||||||
│ ┌─────────────────────────────────────────────────────────────────────────┐│
|
│ ┌─────────────────────────────────────────────────────────────────────────┐│
|
||||||
│ │ Android original + Magisk ││
|
│ │ Original Android + Magisk ││
|
||||||
│ │ Bloatware removido via overlay ││
|
│ │ Bloatware removed via overlay ││
|
||||||
│ │ Boot animation GB ││
|
│ │ GB boot animation ││
|
||||||
│ │ BotOS como system app privilegiado ││
|
│ │ BotOS as privileged system app ││
|
||||||
│ └─────────────────────────────────────────────────────────────────────────┘│
|
│ └─────────────────────────────────────────────────────────────────────────┘│
|
||||||
├─────────────────────────────────────────────────────────────────────────────┤
|
├─────────────────────────────────────────────────────────────────────────────┤
|
||||||
│ NÍVEL 1: DEBLOAT + APP │
|
│ LEVEL 1: DEBLOAT + APP │
|
||||||
│ ┌─────────────────────────────────────────────────────────────────────────┐│
|
│ ┌─────────────────────────────────────────────────────────────────────────┐│
|
||||||
│ │ Android original (Samsung/Huawei/Xiaomi/etc) ││
|
│ │ Original Android (Samsung/Huawei/Xiaomi/etc) ││
|
||||||
│ │ Bloatware removido via ADB (sem root) ││
|
│ │ Bloatware removed via ADB (no root) ││
|
||||||
│ │ BotOS instalado como app normal ││
|
│ │ BotOS installed as normal app ││
|
||||||
│ │ Pode ser definido como launcher padrão ││
|
│ │ Can be set as default launcher ││
|
||||||
│ └─────────────────────────────────────────────────────────────────────────┘│
|
│ └─────────────────────────────────────────────────────────────────────────┘│
|
||||||
└─────────────────────────────────────────────────────────────────────────────┘
|
└─────────────────────────────────────────────────────────────────────────────┘
|
||||||
|
|
||||||
|
|
@ -76,55 +76,55 @@ O instalador detecta automaticamente o dispositivo e mostra as opções disponí
|
||||||
│ BotOS App (Tauri) │
|
│ BotOS App (Tauri) │
|
||||||
├─────────────────────────────────────────────────────────────────────────────┤
|
├─────────────────────────────────────────────────────────────────────────────┤
|
||||||
│ botui/ui/suite │ Tauri Android │ src/lib.rs (Rust) │
|
│ botui/ui/suite │ Tauri Android │ src/lib.rs (Rust) │
|
||||||
│ (Interface Web) │ (WebView + NDK) │ (Backend + Hardware) │
|
│ (Web Interface) │ (WebView + NDK) │ (Backend + Hardware) │
|
||||||
└─────────────────────────────────────────────────────────────────────────────┘
|
└─────────────────────────────────────────────────────────────────────────────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
## Estrutura do Projeto
|
## Project Structure
|
||||||
|
|
||||||
```
|
```
|
||||||
botos/
|
botos/
|
||||||
├── Cargo.toml # Dependências Rust/Tauri
|
├── Cargo.toml # Rust/Tauri dependencies
|
||||||
├── tauri.conf.json # Config Tauri → botui/ui/suite
|
├── tauri.conf.json # Tauri config → botui/ui/suite
|
||||||
├── build.rs # Build script
|
├── build.rs # Build script
|
||||||
├── src/lib.rs # Entry point Android
|
├── src/lib.rs # Android entry point
|
||||||
│
|
│
|
||||||
├── icons/
|
├── icons/
|
||||||
│ ├── gb-bot.svg # Ícone fonte
|
│ ├── gb-bot.svg # Source icon
|
||||||
│ ├── icon.png (512x512) # Ícone principal
|
│ ├── icon.png (512x512) # Main icon
|
||||||
│ └── */ic_launcher.png # Ícones por densidade
|
│ └── */ic_launcher.png # Icons by density
|
||||||
│
|
│
|
||||||
├── scripts/
|
├── scripts/
|
||||||
│ ├── generate-icons.sh # Gera PNGs do SVG
|
│ ├── generate-icons.sh # Generate PNGs from SVG
|
||||||
│ └── create-bootanimation.sh # Gera animação de boot
|
│ └── create-bootanimation.sh # Generate boot animation
|
||||||
│
|
│
|
||||||
├── capabilities/
|
├── capabilities/
|
||||||
│ └── default.json # Permissões Tauri
|
│ └── default.json # Tauri permissions
|
||||||
│
|
│
|
||||||
├── gen/android/ # Projeto Android gerado
|
├── gen/android/ # Generated Android project
|
||||||
│ └── app/src/main/
|
│ └── app/src/main/
|
||||||
│ ├── AndroidManifest.xml # HOME intent (launcher)
|
│ ├── AndroidManifest.xml # HOME intent (launcher)
|
||||||
│ └── res/values/themes.xml # Tema dark GB
|
│ └── res/values/themes.xml # GB dark theme
|
||||||
│
|
│
|
||||||
└── rom/ # Tools de instalação
|
└── rom/ # Installation tools
|
||||||
├── install.sh # Instalador interativo
|
├── install.sh # Interactive installer
|
||||||
├── scripts/
|
├── scripts/
|
||||||
│ ├── debloat.sh # Remove bloatware (sem root)
|
│ ├── debloat.sh # Remove bloatware (no root)
|
||||||
│ └── build-magisk-module.sh # Gera módulo Magisk
|
│ └── build-magisk-module.sh # Generate Magisk module
|
||||||
└── gsi/
|
└── gsi/
|
||||||
├── README.md # Instruções GSI/AOSP
|
├── README.md # GSI/AOSP instructions
|
||||||
└── device/pragmatismo/botos/ # Device tree AOSP
|
└── device/pragmatismo/botos/ # AOSP device tree
|
||||||
```
|
```
|
||||||
|
|
||||||
## Pré-requisitos
|
## Prerequisites
|
||||||
|
|
||||||
### Para compilar BotOS App
|
### To compile BotOS App
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Rust e Android targets
|
# Rust and Android targets
|
||||||
rustup target add aarch64-linux-android armv7-linux-androideabi
|
rustup target add aarch64-linux-android armv7-linux-androideabi
|
||||||
|
|
||||||
# Android SDK e NDK
|
# Android SDK and NDK
|
||||||
export ANDROID_HOME=$HOME/Android/Sdk
|
export ANDROID_HOME=$HOME/Android/Sdk
|
||||||
export NDK_HOME=$ANDROID_HOME/ndk/25.2.9519653
|
export NDK_HOME=$ANDROID_HOME/ndk/25.2.9519653
|
||||||
|
|
||||||
|
|
@ -132,34 +132,34 @@ export NDK_HOME=$ANDROID_HOME/ndk/25.2.9519653
|
||||||
cargo install tauri-cli
|
cargo install tauri-cli
|
||||||
```
|
```
|
||||||
|
|
||||||
### Para instalar em dispositivos
|
### To install on devices
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# ADB
|
# ADB
|
||||||
sudo apt install adb
|
sudo apt install adb
|
||||||
|
|
||||||
# Para gerar ícones/boot animation
|
# To generate icons/boot animation
|
||||||
sudo apt install librsvg2-bin imagemagick
|
sudo apt install librsvg2-bin imagemagick
|
||||||
```
|
```
|
||||||
|
|
||||||
## Compilação
|
## Building
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd botos
|
cd botos
|
||||||
|
|
||||||
# Gerar ícones
|
# Generate icons
|
||||||
./scripts/generate-icons.sh
|
./scripts/generate-icons.sh
|
||||||
|
|
||||||
# Inicializar projeto Android
|
# Initialize Android project
|
||||||
cargo tauri android init
|
cargo tauri android init
|
||||||
|
|
||||||
# Build APK
|
# Build APK
|
||||||
cargo tauri android build --release
|
cargo tauri android build --release
|
||||||
```
|
```
|
||||||
|
|
||||||
## Instalação
|
## Installation
|
||||||
|
|
||||||
### Método Rápido (Interativo)
|
### Quick Method (Interactive)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd botos/rom
|
cd botos/rom
|
||||||
|
|
@ -167,45 +167,45 @@ chmod +x install.sh
|
||||||
./install.sh
|
./install.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
### Método Manual
|
### Manual Method
|
||||||
|
|
||||||
#### Nível 1: Debloat + App (Sem Root)
|
#### Level 1: Debloat + App (No Root)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Conectar dispositivo via USB (debug ativo)
|
# Connect device via USB (debug enabled)
|
||||||
cd botos/rom/scripts
|
cd botos/rom/scripts
|
||||||
./debloat.sh
|
./debloat.sh
|
||||||
|
|
||||||
# Instalar APK
|
# Install APK
|
||||||
adb install ../gen/android/app/build/outputs/apk/release/app-release.apk
|
adb install ../gen/android/app/build/outputs/apk/release/app-release.apk
|
||||||
|
|
||||||
# Definir como launcher: Home → BotOS → Sempre
|
# Set as launcher: Home → BotOS → Always
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Nível 2: Magisk Module (Com Root)
|
#### Level 2: Magisk Module (With Root)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Gerar módulo
|
# Generate module
|
||||||
cd botos/rom/scripts
|
cd botos/rom/scripts
|
||||||
./build-magisk-module.sh
|
./build-magisk-module.sh
|
||||||
|
|
||||||
# Copiar para dispositivo
|
# Copy to device
|
||||||
adb push botos-magisk-v1.0.zip /sdcard/
|
adb push botos-magisk-v1.0.zip /sdcard/
|
||||||
|
|
||||||
# No celular: Magisk → Modules → + → Selecionar ZIP → Reboot
|
# On phone: Magisk → Modules → + → Select ZIP → Reboot
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Nível 3: GSI (Bootloader Desbloqueado)
|
#### Level 3: GSI (Unlocked Bootloader)
|
||||||
|
|
||||||
Veja instruções detalhadas em `rom/gsi/README.md`.
|
See detailed instructions in `rom/gsi/README.md`.
|
||||||
|
|
||||||
## Bloatware Removido
|
## Bloatware Removed
|
||||||
|
|
||||||
O debloat remove automaticamente:
|
The debloat automatically removes:
|
||||||
|
|
||||||
**Samsung One UI:**
|
**Samsung One UI:**
|
||||||
- Bixby, Samsung Pay, Samsung Pass
|
- Bixby, Samsung Pay, Samsung Pass
|
||||||
- Apps duplicados (Email, Calendar, Browser)
|
- Duplicate apps (Email, Calendar, Browser)
|
||||||
- AR Zone, Game Launcher
|
- AR Zone, Game Launcher
|
||||||
|
|
||||||
**Huawei EMUI/HarmonyOS:**
|
**Huawei EMUI/HarmonyOS:**
|
||||||
|
|
@ -222,80 +222,80 @@ O debloat remove automaticamente:
|
||||||
- MSA (analytics), Mi Apps
|
- MSA (analytics), Mi Apps
|
||||||
- GetApps, Mi Cloud
|
- GetApps, Mi Cloud
|
||||||
|
|
||||||
**Universal (todos):**
|
**Universal (all):**
|
||||||
- Facebook, Instagram pré-instalados
|
- Pre-installed Facebook, Instagram
|
||||||
- Netflix, Spotify pré-instalados
|
- Pre-installed Netflix, Spotify
|
||||||
- Jogos como Candy Crush
|
- Games like Candy Crush
|
||||||
|
|
||||||
## Boot Animation
|
## Boot Animation
|
||||||
|
|
||||||
Para customizar a animação de boot (requer root):
|
To customize the boot animation (requires root):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Gerar animação
|
# Generate animation
|
||||||
./scripts/create-bootanimation.sh
|
./scripts/create-bootanimation.sh
|
||||||
|
|
||||||
# Instalar (root)
|
# Install (root)
|
||||||
adb root
|
adb root
|
||||||
adb remount
|
adb remount
|
||||||
adb push bootanimation.zip /system/media/
|
adb push bootanimation.zip /system/media/
|
||||||
adb reboot
|
adb reboot
|
||||||
```
|
```
|
||||||
|
|
||||||
## Desenvolvimento
|
## Development
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Dev mode (conecta ao dispositivo)
|
# Dev mode (connects to device)
|
||||||
cargo tauri android dev
|
cargo tauri android dev
|
||||||
|
|
||||||
# Logs
|
# Logs
|
||||||
adb logcat -s BotOS:*
|
adb logcat -s BotOS:*
|
||||||
```
|
```
|
||||||
|
|
||||||
## Parceria China
|
## China Partnership
|
||||||
|
|
||||||
BotOS foi criado para vendas/parcerias na China, oferecendo:
|
BotOS was created for sales/partnerships in China, offering:
|
||||||
- Celulares com sistema "limpo" - sem bloatware
|
- Phones with "clean" system - no bloatware
|
||||||
- Interface única conectada ao General Bots
|
- Unique interface connected to General Bots
|
||||||
- Experiência simplificada para usuários finais
|
- Simplified experience for end users
|
||||||
- Controle total do dispositivo
|
- Full device control
|
||||||
- Suporte a dispositivos HarmonyOS (Huawei/Honor)
|
- Support for HarmonyOS devices (Huawei/Honor)
|
||||||
- Dispositivos IoT/Embedded (Raspberry Pi, ESP32, etc)
|
- IoT/Embedded devices (Raspberry Pi, ESP32, etc)
|
||||||
- Quiosques e terminais de autoatendimento
|
- Kiosks and self-service terminals
|
||||||
|
|
||||||
## Interface Embedded (LCD/Teclado)
|
## Embedded Interface (LCD/Keyboard)
|
||||||
|
|
||||||
Para dispositivos com recursos limitados, use a interface embedded em `botui/ui/embedded/`:
|
For devices with limited resources, use the embedded interface at `botui/ui/embedded/`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Raspberry Pi com display LCD
|
# Raspberry Pi with LCD display
|
||||||
chromium-browser --kiosk --app=http://localhost:8088/embedded/
|
chromium-browser --kiosk --app=http://localhost:8088/embedded/
|
||||||
|
|
||||||
# ESP32 com display TFT (via WebView)
|
# ESP32 with TFT display (via WebView)
|
||||||
# Configure BOTSERVER_URL no firmware
|
# Configure BOTSERVER_URL in firmware
|
||||||
|
|
||||||
# Terminal character mode
|
# Character terminal mode
|
||||||
# Use botui/ui/embedded/ com CONFIG.maxMsgLen ajustado
|
# Use botui/ui/embedded/ with CONFIG.maxMsgLen adjusted
|
||||||
```
|
```
|
||||||
|
|
||||||
### Características da Interface Embedded
|
### Embedded Interface Features
|
||||||
- Otimizada para displays 320x240 até 16x2 caracteres
|
- Optimized for displays 320x240 down to 16x2 characters
|
||||||
- Alto contraste (verde/preto, e-ink)
|
- High contrast (green/black, e-ink)
|
||||||
- Baixo consumo de memória (max 10 mensagens)
|
- Low memory usage (max 10 messages)
|
||||||
- Navegação por teclado (Enter envia, Esc limpa)
|
- Keyboard navigation (Enter sends, Esc clears)
|
||||||
- Reconexão automática
|
- Auto reconnection
|
||||||
|
|
||||||
## Recursos
|
## Features
|
||||||
|
|
||||||
- 🏠 **Launcher Mode**: Substitui home screen
|
- 🏠 **Launcher Mode**: Replaces home screen
|
||||||
- 🤖 **Interface Chat**: botui/ui/suite
|
- 🤖 **Chat Interface**: botui/ui/suite
|
||||||
- 🦀 **Backend Rust**: Via Tauri
|
- 🦀 **Rust Backend**: Via Tauri
|
||||||
- 📍 **GPS**: Acesso a localização
|
- 📍 **GPS**: Location access
|
||||||
- 📷 **Câmera**: Via plugins Tauri
|
- 📷 **Camera**: Via Tauri plugins
|
||||||
- 🔔 **Notificações**: Push notifications
|
- 🔔 **Notifications**: Push notifications
|
||||||
- 🌐 **Internet**: Comunicação com botserver
|
- 🌐 **Internet**: Communication with botserver
|
||||||
- 🎨 **Boot Animation**: Customizável com gb-bot.svg
|
- 🎨 **Boot Animation**: Customizable with gb-bot.svg
|
||||||
|
|
||||||
## Licença
|
## License
|
||||||
|
|
||||||
AGPL-3.0
|
AGPL-3.0
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue