Удалить README_SERVER_BUILD.md
This commit is contained in:
@@ -1,232 +0,0 @@
|
||||
# Конвертор координат GPS → APRS, Maidenhead
|
||||
|
||||
## Описание проекта
|
||||
|
||||
Приложение Android для конвертации GPS координат в различные форматы:
|
||||
- Десятичные координаты (широта/долгота)
|
||||
- Градусы, минуты, секунды (DMS)
|
||||
- APRS формат
|
||||
- Maidenhead (QTH локатор)
|
||||
|
||||
**Технологии:**
|
||||
- Kotlin
|
||||
- Jetpack Compose (Material 3)
|
||||
- Android SDK 34
|
||||
- Min SDK: 21
|
||||
|
||||
---
|
||||
|
||||
## Структура проекта
|
||||
|
||||
```
|
||||
vs2/
|
||||
├── app/
|
||||
│ ├── src/main/
|
||||
│ │ ├── java/com/example/aprs/
|
||||
│ │ │ ├── MainActivity.kt # Основной экран
|
||||
│ │ │ └── LocationUtils.kt # Утилиты конвертации
|
||||
│ │ ├── res/
|
||||
│ │ │ ├── values/
|
||||
│ │ │ │ ├── strings.xml
|
||||
│ │ │ │ ├── themes.xml
|
||||
│ │ │ │ └── ic_launcher_background.xml
|
||||
│ │ │ └── mipmap-*/ # Иконки приложения
|
||||
│ │ ├── AndroidManifest.xml
|
||||
│ │ └── build.gradle.kts
|
||||
│ └── build/outputs/apk/debug/ # Скомпилированный APK
|
||||
├── build.gradle.kts
|
||||
├── gradle.properties
|
||||
├── settings.gradle.kts
|
||||
└── gradlew # Gradle wrapper
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Требования к серверу
|
||||
|
||||
### Необходимое ПО:
|
||||
- **Java JDK 17** (`/usr/lib/jvm/java-17-openjdk-amd64`)
|
||||
- **Git** (опционально)
|
||||
- **SSH доступ** с паролем или ключом
|
||||
|
||||
### Проверка окружения на сервере:
|
||||
```bash
|
||||
java -version
|
||||
# Должно показать: openjdk version "17.x.x"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Инструкция по компиляции на сервере
|
||||
|
||||
### 1. Подключение к серверу
|
||||
|
||||
```bash
|
||||
# Подключение по SSH
|
||||
ssh ua1zbe@192.168.1.46
|
||||
# Введите пароль: ktdbycrbq1980
|
||||
```
|
||||
|
||||
### 2. Загрузка проекта на сервер
|
||||
|
||||
#### Вариант A: Через rsync (рекомендуется)
|
||||
```bash
|
||||
# С локальной машины
|
||||
rsync -avz -e ssh /home/ua1zbe/my_aprs_project/vs2/ ua1zbe@192.168.1.46:~/my_aprs_project/vs2/
|
||||
```
|
||||
|
||||
#### Вариант B: Через git
|
||||
```bash
|
||||
# На сервере
|
||||
cd ~
|
||||
git clone <repository-url> my_aprs_project/vs2
|
||||
```
|
||||
|
||||
### 3. Сборка APK
|
||||
|
||||
```bash
|
||||
# Подключение к серверу
|
||||
ssh ua1zbe@192.168.1.46
|
||||
|
||||
# Переход в директорию проекта
|
||||
cd ~/my_aprs_project/vs2
|
||||
|
||||
# Установка JAVA_HOME
|
||||
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
|
||||
|
||||
# Очистка и сборка
|
||||
./gradlew clean assembleDebug
|
||||
|
||||
# Или только сборка (быстрее)
|
||||
./gradlew assembleDebug
|
||||
```
|
||||
|
||||
### 4. Результат сборки
|
||||
|
||||
APK файл будет создан в:
|
||||
```
|
||||
/home/ua1zbe/my_aprs_project/vs2/app/build/outputs/apk/debug/app-debug.apk
|
||||
```
|
||||
|
||||
Размер: ~12-14 MB
|
||||
|
||||
### 5. Проверка сборки
|
||||
|
||||
```bash
|
||||
# Проверка существования APK
|
||||
ls -lh ~/my_aprs_project/vs2/app/build/outputs/apk/debug/app-debug.apk
|
||||
|
||||
# Информация о сборке
|
||||
./gradlew buildEnvironment
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Установка на устройство
|
||||
|
||||
### Вариант A: Через ADB (USB)
|
||||
|
||||
```bash
|
||||
# Скачать APK с сервера
|
||||
scp ua1zbe@192.168.1.46:~/my_aprs_project/vs2/app/build/outputs/apk/debug/app-debug.apk /home/ua1zbe/my_aprs_project/vs2/
|
||||
|
||||
# Установить на устройство
|
||||
adb install -r /home/ua1zbe/my_aprs_project/vs2/app-debug.apk
|
||||
```
|
||||
|
||||
### Вариант B: Прямая установка с сервера
|
||||
|
||||
```bash
|
||||
# На сервере (если есть ADB и подключено устройство)
|
||||
adb install ~/my_aprs_project/vs2/app/build/outputs/apk/debug/app-debug.apk
|
||||
```
|
||||
|
||||
### Вариант C: Через файловый менеджер
|
||||
|
||||
1. Скачать APK с сервера через SFTP/SCP
|
||||
2. Передать на телефон
|
||||
3. Установить через файловый менеджер
|
||||
|
||||
---
|
||||
|
||||
## Полезные команды Gradle
|
||||
|
||||
```bash
|
||||
# Очистка сборки
|
||||
./gradlew clean
|
||||
|
||||
# Сборка debug версии
|
||||
./gradlew assembleDebug
|
||||
|
||||
# Сборка release версии
|
||||
./gradlew assembleRelease
|
||||
|
||||
# Запуск тестов
|
||||
./gradlew test
|
||||
|
||||
# Проверка зависимостей
|
||||
./gradlew dependencies
|
||||
|
||||
# Остановка Gradle daemon
|
||||
./gradlew --stop
|
||||
|
||||
# Сборка с логом
|
||||
./gradlew assembleDebug --info
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Решение проблем
|
||||
|
||||
### Ошибка: "Could not connect to Kotlin compile daemon"
|
||||
```bash
|
||||
# Остановить Gradle и попробовать снова
|
||||
./gradlew --stop
|
||||
./gradlew clean assembleDebug
|
||||
```
|
||||
|
||||
### Ошибка: "minSdkVersion cannot be smaller than version 21"
|
||||
```bash
|
||||
# Jetpack Compose требует API 21+
|
||||
# Проверить app/build.gradle.kts:
|
||||
# minSdk = 21
|
||||
```
|
||||
|
||||
### Ошибка: "resource not found" для иконок
|
||||
```bash
|
||||
# Проверить наличие директорий mipmap
|
||||
ls app/src/main/res/mipmap-*/
|
||||
|
||||
# Пересоздать иконки при необходимости
|
||||
```
|
||||
|
||||
### Ошибка: "BUILD FAILED - Manifest merger failed"
|
||||
```bash
|
||||
# Очистить сборку
|
||||
./gradlew clean
|
||||
# Проверить AndroidManifest.xml на ошибки
|
||||
```
|
||||
|
||||
### Долгая компиляция
|
||||
```bash
|
||||
# Использовать daemon (по умолчанию включён)
|
||||
./gradlew assembleDebug --daemon
|
||||
|
||||
# Или увеличить память
|
||||
export GRADLE_OPTS="-Xmx2g"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Быстрая сборка (one-liner)
|
||||
|
||||
```bash
|
||||
ssh ua1zbe@192.168.1.46 "cd ~/my_aprs_project/vs2 && export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 && ./gradlew assembleDebug" && scp ua1zbe@192.168.1.46:~/my_aprs_project/vs2/app/build/outputs/apk/debug/app-debug.apk /home/ua1zbe/my_aprs_project/vs2/ && adb install -r /home/ua1zbe/my_aprs_project/vs2/app-debug.apk
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Контакты
|
||||
|
||||
Автор: UA1ZBE
|
||||
Дата: Март 2026
|
||||
Reference in New Issue
Block a user