Files
aprs-converter/README_SERVER_BUILD.md
UA1ZBE 17d5722560 Initial commit: Конвертор координат GPS → APRS, Maidenhead
- Kotlin + Jetpack Compose (Material 3)
- Конвертация в APRS, Maidenhead, DMS форматы
- Полноэкранный режим
- Иконка приложения
- Min SDK: 21, Target SDK: 34

Версия: 1.0.0
Дата: 2026-03-02
Автор: UA1ZBE

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-03 01:34:35 +03:00

6.0 KiB
Raw Blame History

Конвертор координат 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 доступ с паролем или ключом

Проверка окружения на сервере:

java -version
# Должно показать: openjdk version "17.x.x"

Инструкция по компиляции на сервере

1. Подключение к серверу

# Подключение по SSH
ssh ua1zbe@192.168.1.46
# Введите пароль: ktdbycrbq1980

2. Загрузка проекта на сервер

Вариант A: Через rsync (рекомендуется)

# С локальной машины
rsync -avz -e ssh /home/ua1zbe/my_aprs_project/vs2/ ua1zbe@192.168.1.46:~/my_aprs_project/vs2/

Вариант B: Через git

# На сервере
cd ~
git clone <repository-url> my_aprs_project/vs2

3. Сборка APK

# Подключение к серверу
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. Проверка сборки

# Проверка существования APK
ls -lh ~/my_aprs_project/vs2/app/build/outputs/apk/debug/app-debug.apk

# Информация о сборке
./gradlew buildEnvironment

Установка на устройство

Вариант A: Через ADB (USB)

# Скачать 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: Прямая установка с сервера

# На сервере (если есть ADB и подключено устройство)
adb install ~/my_aprs_project/vs2/app/build/outputs/apk/debug/app-debug.apk

Вариант C: Через файловый менеджер

  1. Скачать APK с сервера через SFTP/SCP
  2. Передать на телефон
  3. Установить через файловый менеджер

Полезные команды Gradle

# Очистка сборки
./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"

# Остановить Gradle и попробовать снова
./gradlew --stop
./gradlew clean assembleDebug

Ошибка: "minSdkVersion cannot be smaller than version 21"

# Jetpack Compose требует API 21+
# Проверить app/build.gradle.kts:
# minSdk = 21

Ошибка: "resource not found" для иконок

# Проверить наличие директорий mipmap
ls app/src/main/res/mipmap-*/

# Пересоздать иконки при необходимости

Ошибка: "BUILD FAILED - Manifest merger failed"

# Очистить сборку
./gradlew clean
# Проверить AndroidManifest.xml на ошибки

Долгая компиляция

# Использовать daemon (по умолчанию включён)
./gradlew assembleDebug --daemon

# Или увеличить память
export GRADLE_OPTS="-Xmx2g"

Быстрая сборка (one-liner)

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