- Updated UI to use AnimatedVisibility for loading indicator and empty state message. - Enhanced user feedback with a centered loading spinner and message during search. - Improved layout and spacing for search results and user items. - Adjusted colors and sizes for better visual consistency. chore: Update gradle.properties to use new Java 17 path - Changed Java home path to reflect new installation location. docs: Add comprehensive README for project setup and development - Included quick start instructions, available emulators, technologies used, and useful commands. - Documented project structure and debugging tips. - Added license information and contact details for the development team. build: Add development scripts for quick rebuild and installation - Created dev.sh for fast rebuild and install without cleaning. - Added run.sh for a complete build and install process with emulator checks. - Introduced watch-dev.sh for automatic rebuild on file changes.
182 lines
5.0 KiB
Markdown
182 lines
5.0 KiB
Markdown
# 🚀 Rosetta Android
|
||
|
||
Безопасный мессенджер на базе криптографии для Android.
|
||
|
||
## ✅ Статус проекта
|
||
|
||
- ✅ Проект настроен и готов к разработке
|
||
- ✅ Все зависимости установлены
|
||
- ✅ Сборка проходит успешно
|
||
- ✅ APK файлы генерируются корректно
|
||
|
||
## 🎯 Быстрый старт
|
||
|
||
### 🚀 Запуск одной командой:
|
||
|
||
```bash
|
||
./run.sh
|
||
```
|
||
|
||
Этот скрипт автоматически запустит эмулятор, соберет приложение, установит и запустит его.
|
||
|
||
### ⚡ Быстрая разработка (Hot Reload):
|
||
|
||
**Вариант 1: Ручная пересборка**
|
||
|
||
```bash
|
||
./dev.sh
|
||
```
|
||
|
||
Быстрая пересборка и установка без очистки проекта (~10-20 секунд)
|
||
|
||
**Вариант 2: Автоматическая пересборка**
|
||
|
||
```bash
|
||
# Установите fswatch (один раз)
|
||
brew install fswatch
|
||
|
||
# Запустите watch mode
|
||
./watch-dev.sh
|
||
```
|
||
|
||
После запуска скрипт будет автоматически:
|
||
|
||
- Отслеживать изменения в `.kt` файлах
|
||
- Пересобирать проект
|
||
- Устанавливать на эмулятор
|
||
- Перезапускать приложение
|
||
|
||
💡 **Теперь просто редактируйте код и сохраняйте - изменения появятся на эмуляторе!**
|
||
|
||
### 🛠 Или вручную:
|
||
|
||
1. **Запустите эмулятор:**
|
||
|
||
```bash
|
||
$ANDROID_HOME/emulator/emulator -avd Pixel_9_Pro_API_35 &
|
||
```
|
||
|
||
2. **Соберите и установите:**
|
||
|
||
```bash
|
||
./gradlew assembleDebug
|
||
./gradlew installDebug
|
||
```
|
||
|
||
3. **Запустите приложение:**
|
||
```bash
|
||
adb shell am start -n com.rosetta.messenger/.MainActivity
|
||
```
|
||
|
||
### Через VS Code:
|
||
|
||
1. Нажмите `Cmd+Shift+P`
|
||
2. Выберите "Tasks: Run Task"
|
||
3. Выберите нужную задачу (например, "Build & Install on Device")
|
||
|
||
## 📱 Доступные эмуляторы
|
||
|
||
- Pixel_9_Pro_API_35 (рекомендуется)
|
||
- Pixel_6_API_Baklava
|
||
- Pixel_4_API_35
|
||
- Pixel_2_API_35
|
||
|
||
## 🛠 Технологии
|
||
|
||
- **Язык:** Kotlin
|
||
- **UI:** Jetpack Compose + Material3
|
||
- **Навигация:** Navigation Component
|
||
- **Хранилище:** Room Database + DataStore
|
||
- **Безопасность:**
|
||
- BitcoinJ для криптографии
|
||
- Biometric Authentication
|
||
- BouncyCastle для шифрования
|
||
- **Анимации:** Lottie
|
||
|
||
## 📦 Сборка
|
||
|
||
```bash
|
||
# Debug версия
|
||
./gradlew assembleDebug
|
||
|
||
# Release версия
|
||
./gradlew assembleRelease
|
||
|
||
# Очистка проекта
|
||
./gradlew clean
|
||
```
|
||
|
||
## 📖 Документация
|
||
|
||
Подробная документация находится в [DEVELOPMENT.md](./DEVELOPMENT.md)
|
||
|
||
## 🐛 Отладка
|
||
|
||
Просмотр логов:
|
||
|
||
```bash
|
||
adb logcat | grep rosetta
|
||
```
|
||
|
||
Или через VS Code Task: "View App Logs"
|
||
|
||
## 📂 Структура проекта
|
||
|
||
```
|
||
app/src/main/
|
||
├── java/com/rosetta/messenger/
|
||
│ ├── MainActivity.kt # Главная активность
|
||
│ ├── crypto/ # Криптография
|
||
│ ├── data/ # Управление данными
|
||
│ └── ui/ # UI компоненты
|
||
│ ├── auth/ # Авторизация
|
||
│ ├── chats/ # Чаты
|
||
│ ├── onboarding/ # Онбординг
|
||
│ └── theme/ # Тема
|
||
├── res/ # Ресурсы
|
||
└── AndroidManifest.xml # Манифест
|
||
```
|
||
|
||
## 🔧 Полезные команды
|
||
|
||
```bash
|
||
# Проверить подключенные устройства
|
||
adb devices
|
||
|
||
# Удалить приложение
|
||
adb uninstall com.rosetta.messenger
|
||
|
||
# Очистить данные приложения
|
||
adb shell pm clear com.rosetta.messenger
|
||
|
||
# Остановить приложение
|
||
adb shell am force-stop com.rosetta.messenger
|
||
```
|
||
|
||
## ⚙️ Настройка VS Code
|
||
|
||
Расширения установлены автоматически:
|
||
|
||
- Kotlin Language (fwcd.kotlin)
|
||
- Language Support for Java (redhat.java)
|
||
- Gradle for Java (vscjava.vscode-gradle)
|
||
|
||
## 🎨 Особенности
|
||
|
||
- 🔐 Генерация seed-фразы (12/24 слова)
|
||
- 🔑 Создание криптографических ключей
|
||
- 🔒 Биометрическая аутентификация
|
||
- 💾 Защищенное хранилище данных
|
||
- 🎨 Современный UI с Material3
|
||
- 🌙 Поддержка темной темы
|
||
- ✨ Плавные анимации с Lottie
|
||
|
||
## 📝 Лицензия
|
||
|
||
MIT
|
||
|
||
---
|
||
|
||
**Разработка:** Rosetta Messenger Team
|
||
**Контакт:** k1ngsterr1
|