mirror of
https://git.quad4.io/RNS-Things/MeshChatX.git
synced 2026-05-26 04:14:06 +00:00
feat(docs): update READMEs
This commit is contained in:
@@ -193,11 +193,46 @@ task dist:fe:rpm
|
||||
- Linux DEB: `x64`, `arm64`
|
||||
- Windows: `x64`, `arm64` (build scripts available)
|
||||
- macOS: build scripts available (`arm64`, `universal`) for local build environments
|
||||
- Android: build workflow and Android project are present in this repository
|
||||
- Android: native APKs — ABIs `arm64-v8a`, `x86_64`, plus universal
|
||||
|
||||
## Android
|
||||
|
||||
Use the dedicated docs:
|
||||
MeshChatX supports native Android APK builds (not only Termux).
|
||||
|
||||
### Build APKs from source
|
||||
|
||||
From repo root:
|
||||
|
||||
```bash
|
||||
# 1) Build Chaquopy wheels used by android/app/build.gradle
|
||||
bash scripts/build-android-wheels-local.sh
|
||||
|
||||
# 2) Build both APK variants
|
||||
cd android
|
||||
./gradlew --no-daemon :app:assembleDebug :app:assembleRelease
|
||||
```
|
||||
|
||||
APK outputs (ABI splits plus a universal APK; see `splits { abi { ... } }` in `android/app/build.gradle`):
|
||||
|
||||
Debug (`android/app/build/outputs/apk/debug/`):
|
||||
|
||||
- `app-arm64-v8a-debug.apk` (ARM64 devices)
|
||||
- `app-x86_64-debug.apk` (x86_64 emulators)
|
||||
- `app-universal-debug.apk` (all bundled ABIs in one package)
|
||||
|
||||
Release (`android/app/build/outputs/apk/release/`):
|
||||
|
||||
- `app-arm64-v8a-release-unsigned.apk`
|
||||
- `app-x86_64-release-unsigned.apk`
|
||||
- `app-universal-release-unsigned.apk`
|
||||
|
||||
Notes:
|
||||
|
||||
- Release outputs are unsigned by default unless you configure signing.
|
||||
- If you only need one variant, run `:app:assembleDebug` or `:app:assembleRelease`.
|
||||
- Android targets `arm64-v8a` and `x86_64` ABIs as configured in `android/app/build.gradle`.
|
||||
|
||||
Additional docs:
|
||||
|
||||
- [`docs/meshchatx_on_android_with_termux.md`](docs/meshchatx_on_android_with_termux.md)
|
||||
- [`android/README.md`](android/README.md)
|
||||
|
||||
+1
-82
@@ -4,85 +4,4 @@ This directory contains the Android app build configuration using Chaquopy to em
|
||||
|
||||
## Architecture
|
||||
|
||||
The app uses a **WebView** to display the existing Vue.js frontend. The Python server runs in the background via Chaquopy and serves the web interface on `http://127.0.0.1:8000`.
|
||||
|
||||
**No Kotlin frontend needed** - we reuse the entire existing Vue.js web frontend!
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Android Studio (latest version)
|
||||
- Android SDK with API level 24+ (Android 7.0+)
|
||||
- Chaquopy license (free for open source projects, see https://chaquo.com/chaquopy/pricing/)
|
||||
|
||||
## Setup
|
||||
|
||||
1. **Initialize Gradle Wrapper** (if not already done):
|
||||
|
||||
```bash
|
||||
task android-init
|
||||
```
|
||||
|
||||
Or manually:
|
||||
|
||||
```bash
|
||||
cd android
|
||||
gradle wrapper --gradle-version 8.2
|
||||
```
|
||||
|
||||
2. **Get Chaquopy License**:
|
||||
- Sign up at https://chaquo.com/chaquopy/
|
||||
- Add your license key to `android/local.properties`:
|
||||
```
|
||||
chaquopy.license=your-license-key-here
|
||||
```
|
||||
|
||||
3. **Prepare Build**:
|
||||
```bash
|
||||
task android-prepare
|
||||
```
|
||||
This will:
|
||||
- Build the frontend
|
||||
- Copy the `meshchatx` package to `app/src/main/python/`
|
||||
- Initialize Gradle wrapper if needed
|
||||
|
||||
## Building
|
||||
|
||||
### Using Task (Recommended)
|
||||
|
||||
```bash
|
||||
# Build debug APK
|
||||
task android-build
|
||||
|
||||
# Build release APK (requires signing config)
|
||||
task android-build-release
|
||||
```
|
||||
|
||||
### Using Gradle Directly
|
||||
|
||||
```bash
|
||||
cd android
|
||||
./gradlew assembleDebug
|
||||
```
|
||||
|
||||
Or open the `android` directory in Android Studio and build from there.
|
||||
|
||||
## Configuration
|
||||
|
||||
The server is configured to:
|
||||
|
||||
- Run on `127.0.0.1:8000` (localhost only)
|
||||
- Use HTTPS for local WebView access
|
||||
- Run in headless mode (no browser launch)
|
||||
|
||||
## Notes
|
||||
|
||||
- The app requires network permissions for RNS/mesh networking
|
||||
- Storage permissions are needed for identity and message storage
|
||||
- The Python server runs in a background thread
|
||||
- The WebView loads the Vue.js frontend after a 2-second delay to allow server startup
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- If the WebView shows a blank page, check logcat for Python errors
|
||||
- Ensure all Python dependencies are listed in `app/build.gradle` chaquopy.pip block
|
||||
- Some native dependencies (like RNS) may need additional configuration
|
||||
The app uses a **WebView** to display the existing Vue.js frontend. The Python server runs in the background via Chaquopy and serves the web interface on `https://127.0.0.1:8000`.
|
||||
+52
-3
@@ -1,6 +1,6 @@
|
||||
# Reticulum MeshChatX
|
||||
|
||||
[English README](../README.md) | [Русский](README.ru.md) | [Italiano](README.it.md) | [中文](README.zh.md) | [日本語](README.ja.md)
|
||||
[English](../README.md) | [Русский](README.ru.md) | [Italiano](README.it.md) | [中文](README.zh.md) | [日本語](README.ja.md)
|
||||
|
||||
Ein umfassend modifizierter und funktionsreicher Fork von Reticulum MeshChat von Liam Cottle.
|
||||
|
||||
@@ -146,6 +146,18 @@ Um das native `meshchatx`-Programm (Alias: `meshchat`) mit zusaetzlicher Dateisy
|
||||
|
||||
Dieselbe Seite erscheint in der in-app-**Dokumentation** (MeshChatX-Docs), wenn sie aus den gebuendelten oder synchronisierten `meshchatx-docs`-Dateien ausgeliefert wird.
|
||||
|
||||
## Linux-Desktop: Emoji-Schriften
|
||||
|
||||
Die Emoji-Auswahl rendert Standard-Unicode-Emoji mit den Systemschriften (Electron/Chromium). Wenn Emoji als leere Kaestchen („Tofu“) erscheinen, installieren Sie ein Farb-Emoji-Paket und starten Sie die App neu.
|
||||
|
||||
| Distribution (Beispiele) | Paket |
|
||||
| ---------------------------- | --------------------------------------------------------------------- |
|
||||
| Arch Linux, Artix, Manjaro | `noto-fonts-emoji` (`sudo pacman -S noto-fonts-emoji`) |
|
||||
| Debian, Ubuntu | `fonts-noto-color-emoji` (`sudo apt install fonts-noto-color-emoji`) |
|
||||
| Fedora | `google-noto-emoji-color-fonts` |
|
||||
|
||||
Nach der Installation bei Bedarf `fc-cache -fv` ausfuehren. Optional: `noto-fonts` fuer breitere Symbolabdeckung bei minimalen Installationen.
|
||||
|
||||
## Desktop-Pakete aus Quellcode bauen
|
||||
|
||||
Diese Skripte sind in `package.json` und `Taskfile.yml` definiert.
|
||||
@@ -176,15 +188,52 @@ task dist:fe:rpm
|
||||
|
||||
## Architekturunterstuetzung
|
||||
|
||||
- Docker: `amd64`, `arm64`
|
||||
- Docker-Image: `amd64`, `arm64`
|
||||
- Linux AppImage: `x64`, `arm64`
|
||||
- Linux DEB: `x64`, `arm64`
|
||||
- Windows: `x64`, `arm64` (Build-Skripte vorhanden)
|
||||
- macOS: Build-Skripte vorhanden (`arm64`, `universal`) fuer lokale Build-Umgebungen
|
||||
- Android: Projekt und CI-Workflow im Repository enthalten
|
||||
- Android: native APKs — ABIs `arm64-v8a`, `x86_64`, plus universal
|
||||
|
||||
## Android
|
||||
|
||||
MeshChatX unterstuetzt native Android-APK-Builds (nicht nur Termux).
|
||||
|
||||
### APKs aus Quellcode bauen
|
||||
|
||||
Vom Repository-Root:
|
||||
|
||||
```bash
|
||||
# 1) Chaquopy-Wheels gemaess android/app/build.gradle bauen
|
||||
bash scripts/build-android-wheels-local.sh
|
||||
|
||||
# 2) Beide APK-Varianten bauen
|
||||
cd android
|
||||
./gradlew --no-daemon :app:assembleDebug :app:assembleRelease
|
||||
```
|
||||
|
||||
APK-Ausgaben (ABI-Splits plus universelles APK; siehe `splits { abi { ... } }` in `android/app/build.gradle`):
|
||||
|
||||
Debug (`android/app/build/outputs/apk/debug/`):
|
||||
|
||||
- `app-arm64-v8a-debug.apk` (ARM64-Geraete)
|
||||
- `app-x86_64-debug.apk` (x86_64-Emulatoren)
|
||||
- `app-universal-debug.apk` (alle gebundelten ABIs in einem Paket)
|
||||
|
||||
Release (`android/app/build/outputs/apk/release/`):
|
||||
|
||||
- `app-arm64-v8a-release-unsigned.apk`
|
||||
- `app-x86_64-release-unsigned.apk`
|
||||
- `app-universal-release-unsigned.apk`
|
||||
|
||||
Hinweise:
|
||||
|
||||
- Release-Ausgaben sind standardmaessig unsigniert, sofern keine Signatur konfiguriert ist.
|
||||
- Wenn nur eine Variante noetig ist: `:app:assembleDebug` oder `:app:assembleRelease`.
|
||||
- Android zielt auf die ABIs `arm64-v8a` und `x86_64` gemaess `android/app/build.gradle`.
|
||||
|
||||
Weitere Dokumentation:
|
||||
|
||||
- [`docs/meshchatx_on_android_with_termux.md`](../docs/meshchatx_on_android_with_termux.md)
|
||||
- [`android/README.md`](../android/README.md)
|
||||
|
||||
|
||||
+52
-3
@@ -1,6 +1,6 @@
|
||||
# Reticulum MeshChatX
|
||||
|
||||
[English README](../README.md) | [Deutsch](README.de.md) | [Русский](README.ru.md) | [中文](README.zh.md) | [日本語](README.ja.md)
|
||||
[English](../README.md) | [Deutsch](README.de.md) | [Русский](README.ru.md) | [中文](README.zh.md) | [日本語](README.ja.md)
|
||||
|
||||
Un fork ampiamente modificato e ricco di funzionalita di Reticulum MeshChat di Liam Cottle.
|
||||
|
||||
@@ -146,6 +146,18 @@ Per eseguire il binario nativo `meshchatx` (alias: `meshchat`) con isolamento ag
|
||||
|
||||
La stessa pagina compare nell'elenco **Documentazione** in-app (documentazione MeshChatX) quando viene servita dai file `meshchatx-docs` inclusi o sincronizzati.
|
||||
|
||||
## Desktop Linux: font emoji
|
||||
|
||||
Il selettore emoji mostra gli emoji Unicode standard usando i font di sistema (Electron/Chromium). Se compaiono quadrati vuoti ("tofu"), installate un pacchetto emoji a colori e riavviate l'app.
|
||||
|
||||
| Famiglia (esempi) | Pacchetto |
|
||||
| -------------------------- | ------------------------------------------------------------------------- |
|
||||
| Arch Linux, Artix, Manjaro | `noto-fonts-emoji` (`sudo pacman -S noto-fonts-emoji`) |
|
||||
| Debian, Ubuntu | `fonts-noto-color-emoji` (`sudo apt install fonts-noto-color-emoji`) |
|
||||
| Fedora | `google-noto-emoji-color-fonts` |
|
||||
|
||||
Dopo l'installazione, eseguite `fc-cache -fv` se i glifi non compaiono fino al prossimo accesso. Opzionale: `noto-fonts` per una copertura simboli più ampia su installazioni minime.
|
||||
|
||||
## Compilazione pacchetti desktop da sorgente
|
||||
|
||||
Gli script sono definiti in `package.json` e `Taskfile.yml`.
|
||||
@@ -176,15 +188,52 @@ task dist:fe:rpm
|
||||
|
||||
## Supporto architetture
|
||||
|
||||
- Docker: `amd64`, `arm64`
|
||||
- Immagine Docker: `amd64`, `arm64`
|
||||
- Linux AppImage: `x64`, `arm64`
|
||||
- Linux DEB: `x64`, `arm64`
|
||||
- Windows: `x64`, `arm64` (script di build disponibili)
|
||||
- macOS: script di build disponibili (`arm64`, `universal`) per ambienti di build locali
|
||||
- Android: progetto e workflow CI presenti nel repository
|
||||
- Android: APK nativi — `arm64-v8a`, `x86_64`, universale
|
||||
|
||||
## Android
|
||||
|
||||
MeshChatX supporta build APK Android native (non solo Termux).
|
||||
|
||||
### Build APK da sorgente
|
||||
|
||||
Dalla root del repository:
|
||||
|
||||
```bash
|
||||
# 1) Build delle wheel Chaquopy usate da android/app/build.gradle
|
||||
bash scripts/build-android-wheels-local.sh
|
||||
|
||||
# 2) Build di entrambe le varianti APK
|
||||
cd android
|
||||
./gradlew --no-daemon :app:assembleDebug :app:assembleRelease
|
||||
```
|
||||
|
||||
Output APK (split degli ABI e APK universale; vedere `splits { abi { ... } }` in `android/app/build.gradle`):
|
||||
|
||||
Debug (`android/app/build/outputs/apk/debug/`):
|
||||
|
||||
- `app-arm64-v8a-debug.apk` (dispositivi ARM64)
|
||||
- `app-x86_64-debug.apk` (emulatori x86_64)
|
||||
- `app-universal-debug.apk` (tutti gli ABI inclusi in un unico pacchetto)
|
||||
|
||||
Release (`android/app/build/outputs/apk/release/`):
|
||||
|
||||
- `app-arm64-v8a-release-unsigned.apk`
|
||||
- `app-x86_64-release-unsigned.apk`
|
||||
- `app-universal-release-unsigned.apk`
|
||||
|
||||
Note:
|
||||
|
||||
- Gli output release sono non firmati di default se non configurate le firme.
|
||||
- Se serve una sola variante: `:app:assembleDebug` o `:app:assembleRelease`.
|
||||
- Android punta agli ABI `arm64-v8a` e `x86_64` come in `android/app/build.gradle`.
|
||||
|
||||
Documentazione aggiuntiva:
|
||||
|
||||
- [`docs/meshchatx_on_android_with_termux.md`](../docs/meshchatx_on_android_with_termux.md)
|
||||
- [`android/README.md`](../android/README.md)
|
||||
|
||||
|
||||
+52
-3
@@ -1,6 +1,6 @@
|
||||
# Reticulum MeshChatX
|
||||
|
||||
[English README](../README.md) | [Deutsch](README.de.md) | [Italiano](README.it.md) | [Русский](README.ru.md) | [中文](README.zh.md)
|
||||
[English](../README.md) | [Deutsch](README.de.md) | [Italiano](README.it.md) | [Русский](README.ru.md) | [中文](README.zh.md)
|
||||
|
||||
Liam Cottle 氏による Reticulum MeshChat を大幅に改修・機能拡張したフォークです。
|
||||
|
||||
@@ -146,6 +146,18 @@ poetry run python -m meshchatx.meshchat --headless --host 127.0.0.1
|
||||
|
||||
同梱または同期された `meshchatx-docs` から配信される場合、アプリ内の **ドキュメント**(MeshChatX ドキュメント)一覧にも同じページが表示されます。
|
||||
|
||||
## Linux デスクトップ: 絵文字フォント
|
||||
|
||||
絵文字ピッカーはシステムフォント(Electron/Chromium)で標準 Unicode 絵文字を描画します。絵文字が空の四角(「豆腐」)になる場合はカラー絵文字パッケージをインストールし、アプリを再起動してください。
|
||||
|
||||
| ディストリビューション(例) | パッケージ |
|
||||
| ---------------------------- | ---------- |
|
||||
| Arch Linux, Artix, Manjaro | `noto-fonts-emoji`(`sudo pacman -S noto-fonts-emoji`) |
|
||||
| Debian, Ubuntu | `fonts-noto-color-emoji`(`sudo apt install fonts-noto-color-emoji`) |
|
||||
| Fedora | `google-noto-emoji-color-fonts` |
|
||||
|
||||
インストール後も表示されない場合は `fc-cache -fv` を実行してください。最小インストールでは記号の網羅用に `noto-fonts` も任意で入れてください。
|
||||
|
||||
## ソースからのデスクトップパッケージビルド
|
||||
|
||||
スクリプトは `package.json` と `Taskfile.yml` に定義されています。
|
||||
@@ -176,15 +188,52 @@ task dist:fe:rpm
|
||||
|
||||
## アーキテクチャサポート
|
||||
|
||||
- Docker: `amd64`, `arm64`
|
||||
- Docker イメージ: `amd64`, `arm64`
|
||||
- Linux AppImage: `x64`, `arm64`
|
||||
- Linux DEB: `x64`, `arm64`
|
||||
- Windows: `x64`, `arm64`(ビルドスクリプトあり)
|
||||
- macOS: ローカルビルド向けにビルドスクリプトあり(`arm64`, `universal`)
|
||||
- Android: リポジトリにプロジェクトと CI ワークフローあり
|
||||
- Android: ネイティブ APK — ABI `arm64-v8a`、`x86_64`、および universal
|
||||
|
||||
## Android
|
||||
|
||||
MeshChatX はネイティブ Android APK のビルドに対応しています(Termux のみに限りません)。
|
||||
|
||||
### ソースから APK をビルド
|
||||
|
||||
リポジトリのルートで:
|
||||
|
||||
```bash
|
||||
# 1) android/app/build.gradle で使う Chaquopy 用ホイールをビルド
|
||||
bash scripts/build-android-wheels-local.sh
|
||||
|
||||
# 2) 両方の APK バリアントをビルド
|
||||
cd android
|
||||
./gradlew --no-daemon :app:assembleDebug :app:assembleRelease
|
||||
```
|
||||
|
||||
APK の出力(ABI 分割と universal APK。`android/app/build.gradle` の `splits { abi { ... } }` を参照):
|
||||
|
||||
デバッグ(`android/app/build/outputs/apk/debug/`):
|
||||
|
||||
- `app-arm64-v8a-debug.apk`(ARM64 端末)
|
||||
- `app-x86_64-debug.apk`(x86_64 エミュレータ)
|
||||
- `app-universal-debug.apk`(同梱 ABI を 1 パッケージに)
|
||||
|
||||
リリース(`android/app/build/outputs/apk/release/`):
|
||||
|
||||
- `app-arm64-v8a-release-unsigned.apk`
|
||||
- `app-x86_64-release-unsigned.apk`
|
||||
- `app-universal-release-unsigned.apk`
|
||||
|
||||
備考:
|
||||
|
||||
- リリース出力は署名を設定しない限りデフォルトで未署名です。
|
||||
- どちらか一方でよい場合は `:app:assembleDebug` または `:app:assembleRelease`。
|
||||
- Android の対象 ABI は `android/app/build.gradle` で設定されている `arm64-v8a` と `x86_64` です。
|
||||
|
||||
追加ドキュメント:
|
||||
|
||||
- [`docs/meshchatx_on_android_with_termux.md`](../docs/meshchatx_on_android_with_termux.md)
|
||||
- [`android/README.md`](../android/README.md)
|
||||
|
||||
|
||||
+52
-3
@@ -1,6 +1,6 @@
|
||||
# Reticulum MeshChatX
|
||||
|
||||
[English README](../README.md) | [Deutsch](README.de.md) | [Italiano](README.it.md) | [中文](README.zh.md) | [日本語](README.ja.md)
|
||||
[English](../README.md) | [Deutsch](README.de.md) | [Italiano](README.it.md) | [中文](README.zh.md) | [日本語](README.ja.md)
|
||||
|
||||
Существенно доработанный и функционально расширенный форк Reticulum MeshChat от Liam Cottle.
|
||||
|
||||
@@ -146,6 +146,18 @@ poetry run python -m meshchatx.meshchat --headless --host 127.0.0.1
|
||||
|
||||
Та же страница отображается во встроенной **Документации** (документация MeshChatX), когда она отдаётся из `meshchatx-docs`.
|
||||
|
||||
## Linux на ПК: шрифты эмодзи
|
||||
|
||||
Выбор эмодзи отображает стандартные Unicode-эмодзи системными шрифтами (Electron/Chromium). Если вместо них пустые квадраты («тофу»), установите пакет цветных эмодзи и перезапустите приложение.
|
||||
|
||||
| Семейство (примеры) | Пакет |
|
||||
| -------------------------- | ----- |
|
||||
| Arch Linux, Artix, Manjaro | `noto-fonts-emoji` (`sudo pacman -S noto-fonts-emoji`) |
|
||||
| Debian, Ubuntu | `fonts-noto-color-emoji` (`sudo apt install fonts-noto-color-emoji`) |
|
||||
| Fedora | `google-noto-emoji-color-fonts` |
|
||||
|
||||
После установки при необходимости выполните `fc-cache -fv`. Опционально: `noto-fonts` для лучшего покрытия символов на минимальных установках.
|
||||
|
||||
## Сборка настольных пакетов из исходников
|
||||
|
||||
Скрипты заданы в `package.json` и `Taskfile.yml`.
|
||||
@@ -176,15 +188,52 @@ task dist:fe:rpm
|
||||
|
||||
## Поддержка архитектур
|
||||
|
||||
- Docker: `amd64`, `arm64`
|
||||
- Образ Docker: `amd64`, `arm64`
|
||||
- Linux AppImage: `x64`, `arm64`
|
||||
- Linux DEB: `x64`, `arm64`
|
||||
- Windows: `x64`, `arm64` (скрипты сборки есть)
|
||||
- macOS: скрипты сборки (`arm64`, `universal`) для локальных сред
|
||||
- Android: проект и CI в репозитории
|
||||
- Android: нативные APK — ABI `arm64-v8a`, `x86_64`, плюс universal
|
||||
|
||||
## Android
|
||||
|
||||
MeshChatX поддерживает нативные Android APK (не только Termux).
|
||||
|
||||
### Сборка APK из исходников
|
||||
|
||||
Из корня репозитория:
|
||||
|
||||
```bash
|
||||
# 1) Собрать колёса Chaquopy для android/app/build.gradle
|
||||
bash scripts/build-android-wheels-local.sh
|
||||
|
||||
# 2) Собрать обе вариации APK
|
||||
cd android
|
||||
./gradlew --no-daemon :app:assembleDebug :app:assembleRelease
|
||||
```
|
||||
|
||||
Выходные APK (разбиение по ABI и универсальный APK; см. `splits { abi { ... } }` в `android/app/build.gradle`):
|
||||
|
||||
Отладка (`android/app/build/outputs/apk/debug/`):
|
||||
|
||||
- `app-arm64-v8a-debug.apk` (устройства ARM64)
|
||||
- `app-x86_64-debug.apk` (эмуляторы x86_64)
|
||||
- `app-universal-debug.apk` (все включённые ABI в одном пакете)
|
||||
|
||||
Релиз (`android/app/build/outputs/apk/release/`):
|
||||
|
||||
- `app-arm64-v8a-release-unsigned.apk`
|
||||
- `app-x86_64-release-unsigned.apk`
|
||||
- `app-universal-release-unsigned.apk`
|
||||
|
||||
Примечания:
|
||||
|
||||
- Релизные артефакты по умолчанию не подписаны, если не настроена подпись.
|
||||
- Если нужна одна вариация: `:app:assembleDebug` или `:app:assembleRelease`.
|
||||
- Целевые ABI — `arm64-v8a` и `x86_64` согласно `android/app/build.gradle`.
|
||||
|
||||
Дополнительная документация:
|
||||
|
||||
- [`docs/meshchatx_on_android_with_termux.md`](../docs/meshchatx_on_android_with_termux.md)
|
||||
- [`android/README.md`](../android/README.md)
|
||||
|
||||
|
||||
+52
-3
@@ -1,6 +1,6 @@
|
||||
# Reticulum MeshChatX
|
||||
|
||||
[English README](../README.md) | [Deutsch](README.de.md) | [Italiano](README.it.md) | [Русский](README.ru.md) | [日本語](README.ja.md)
|
||||
[English](../README.md) | [Deutsch](README.de.md) | [Italiano](README.it.md) | [Русский](README.ru.md) | [日本語](README.ja.md)
|
||||
|
||||
Liam Cottle 开发的 Reticulum MeshChat 的一个功能丰富的深度修改分支。
|
||||
|
||||
@@ -146,6 +146,18 @@ poetry run python -m meshchatx.meshchat --headless --host 127.0.0.1
|
||||
|
||||
在提供已捆绑或已同步的 `meshchatx-docs` 时,应用内 **文档**(MeshChatX 文档)列表亦会显示同一页面。
|
||||
|
||||
## Linux 桌面:绘文字字体
|
||||
|
||||
绘文字选择器使用系统字体(Electron/Chromium)渲染标准 Unicode 绘文字。若显示为空白方框(“豆腐块”),请安装彩色绘文字字体包并重启应用。
|
||||
|
||||
| 发行版(示例) | 软件包 |
|
||||
| ------------------------ | ------ |
|
||||
| Arch Linux、Artix、Manjaro | `noto-fonts-emoji`(`sudo pacman -S noto-fonts-emoji`) |
|
||||
| Debian、Ubuntu | `fonts-noto-color-emoji`(`sudo apt install fonts-noto-color-emoji`) |
|
||||
| Fedora | `google-noto-emoji-color-fonts` |
|
||||
|
||||
安装后若仍异常,可运行 `fc-cache -fv`。可选:最小安装可再装 `noto-fonts` 以覆盖更多符号。
|
||||
|
||||
## 从源码构建桌面包
|
||||
|
||||
脚本定义于 `package.json` 与 `Taskfile.yml`。
|
||||
@@ -176,15 +188,52 @@ task dist:fe:rpm
|
||||
|
||||
## 架构支持
|
||||
|
||||
- Docker: `amd64`, `arm64`
|
||||
- Docker 镜像: `amd64`, `arm64`
|
||||
- Linux AppImage: `x64`, `arm64`
|
||||
- Linux DEB: `x64`, `arm64`
|
||||
- Windows: `x64`, `arm64`(提供构建脚本)
|
||||
- macOS: 提供构建脚本(`arm64`、`universal`),适用于本地构建环境
|
||||
- Android: 仓库内含项目与 CI 工作流
|
||||
- Android: 原生 APK — ABI `arm64-v8a`、`x86_64` 与 universal
|
||||
|
||||
## Android
|
||||
|
||||
MeshChatX 支持构建原生 Android APK(不仅限于 Termux)。
|
||||
|
||||
### 从源码构建 APK
|
||||
|
||||
在仓库根目录执行:
|
||||
|
||||
```bash
|
||||
# 1) 构建 android/app/build.gradle 所需的 Chaquopy 轮子
|
||||
bash scripts/build-android-wheels-local.sh
|
||||
|
||||
# 2) 构建两种 APK 变体
|
||||
cd android
|
||||
./gradlew --no-daemon :app:assembleDebug :app:assembleRelease
|
||||
```
|
||||
|
||||
APK 输出(ABI 分包与 universal APK;见 `android/app/build.gradle` 中的 `splits { abi { ... } }`):
|
||||
|
||||
调试(`android/app/build/outputs/apk/debug/`):
|
||||
|
||||
- `app-arm64-v8a-debug.apk`(ARM64 设备)
|
||||
- `app-x86_64-debug.apk`(x86_64 模拟器)
|
||||
- `app-universal-debug.apk`(所有已打包 ABI 的单包)
|
||||
|
||||
发布(`android/app/build/outputs/apk/release/`):
|
||||
|
||||
- `app-arm64-v8a-release-unsigned.apk`
|
||||
- `app-x86_64-release-unsigned.apk`
|
||||
- `app-universal-release-unsigned.apk`
|
||||
|
||||
说明:
|
||||
|
||||
- 若未配置签名,发布构建默认未签名。
|
||||
- 若只需一种变体,可运行 `:app:assembleDebug` 或 `:app:assembleRelease`。
|
||||
- Android 目标 ABI 为 `android/app/build.gradle` 中配置的 `arm64-v8a` 与 `x86_64`。
|
||||
|
||||
更多文档:
|
||||
|
||||
- [`docs/meshchatx_on_android_with_termux.md`](../docs/meshchatx_on_android_with_termux.md)
|
||||
- [`android/README.md`](../android/README.md)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user