143 lines
3.2 KiB
Markdown
143 lines
3.2 KiB
Markdown
# 📱 Android APK Build Guide
|
||
|
||
## Требования
|
||
|
||
Для сборки Android APK необходимо установить:
|
||
|
||
1. **Android SDK** (Android Studio или command-line tools)
|
||
2. **Go 1.21+**
|
||
3. **gomobile**
|
||
|
||
## Установка
|
||
|
||
### 1. Установи Android SDK
|
||
|
||
**Вариант A: Android Studio (рекомендуется)**
|
||
- Скачай: https://developer.android.com/studio
|
||
- Установи
|
||
- Открой SDK Manager и установи:
|
||
- Android SDK Platform (API 21+)
|
||
- Android SDK Build-Tools
|
||
- Android NDK
|
||
|
||
**Вариант B: Command-line tools только**
|
||
```bash
|
||
# Скачай command-line tools
|
||
# https://developer.android.com/studio#command-tools
|
||
|
||
# Распакуй и настрой
|
||
export ANDROID_HOME=$HOME/android-sdk
|
||
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
|
||
```
|
||
|
||
### 2. Установи gomobile
|
||
|
||
```bash
|
||
go install golang.org/x/mobile/cmd/gomobile@latest
|
||
gomobile init
|
||
```
|
||
|
||
## Сборка APK
|
||
|
||
### Вариант 1: AAR библиотека (для интеграции в Android app)
|
||
|
||
```bash
|
||
cd mobile
|
||
gomobile bind -target android -o tgwsproxy.aar ./mobile
|
||
```
|
||
|
||
Получишь `tgwsproxy.aar` — библиотека для подключения к Android проекту.
|
||
|
||
### Вариант 2: Полное APK приложение
|
||
|
||
Для создания полноценного APK нужен Android проект с UI.
|
||
|
||
**Структура Android проекта:**
|
||
```
|
||
android/
|
||
├── app/
|
||
│ ├── src/main/java/.../MainActivity.java
|
||
│ ├── src/main/AndroidManifest.xml
|
||
│ └── build.gradle
|
||
├── build.gradle
|
||
├── settings.gradle
|
||
└── tgwsproxy.aar (из шага выше)
|
||
```
|
||
|
||
**Пример build.gradle:**
|
||
```gradle
|
||
plugins {
|
||
id 'com.android.application'
|
||
}
|
||
|
||
android {
|
||
compileSdk 34
|
||
defaultConfig {
|
||
applicationId "com.github.yosyatarbeep.tgwsproxy"
|
||
minSdk 21
|
||
targetSdk 34
|
||
versionCode 1
|
||
versionName "1.0"
|
||
}
|
||
}
|
||
|
||
dependencies {
|
||
implementation files('libs/tgwsproxy.aar')
|
||
}
|
||
```
|
||
|
||
**Сборка APK:**
|
||
```bash
|
||
cd android
|
||
./gradlew assembleDebug
|
||
# APK будет в: app/build/outputs/apk/debug/app-debug.apk
|
||
```
|
||
|
||
## Быстрая сборка (если есть Android SDK)
|
||
|
||
```bash
|
||
# В корне проекта
|
||
make android
|
||
|
||
# Или вручную
|
||
gomobile bind -target android -o android/tgwsproxy.aar ./mobile
|
||
cd android && ./gradlew assembleDebug
|
||
```
|
||
|
||
## Установка на устройство
|
||
|
||
```bash
|
||
adb install app/build/outputs/apk/debug/app-debug.apk
|
||
```
|
||
|
||
---
|
||
|
||
## 📝 Заметки
|
||
|
||
- **Min SDK:** Android 5.0 (API 21)
|
||
- **Target SDK:** Android 14 (API 34)
|
||
- **Архитектуры:** arm64-v8a, armeabi-v7a, x86_64
|
||
- **Размер APK:** ~10-15 MB (включая Go runtime)
|
||
|
||
## 🔧 Troubleshooting
|
||
|
||
### "Android SDK not found"
|
||
```bash
|
||
# Укажи путь к SDK
|
||
export ANDROID_HOME=/path/to/android-sdk
|
||
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
|
||
```
|
||
|
||
### "NDK not found"
|
||
```bash
|
||
# Установи NDK через SDK Manager
|
||
# Или задай путь
|
||
export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/<version>
|
||
```
|
||
|
||
---
|
||
|
||
## 📦 Готовые сборки
|
||
|
||
Смотри Releases: https://github.com/y0sy4/tg-ws-proxy-go/releases
|