Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 8 additions & 26 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,32 +32,14 @@ jobs:
- name: Build libvpx
run: cd presentation/src/main/cpp && ./build.sh

- name: Build Debug APK (without GMS)
run: ./gradlew assembleDebug
- name: Build Official Debug APK
run: ./gradlew assembleOfficialDebug

- name: Run Unit Tests
run: ./gradlew testDebugUnitTest
- name: Run Official Debug Unit Tests
run: ./gradlew testOfficialDebugUnitTest

- name: Upload universal APK
uses: actions/upload-artifact@v7
with:
name: app-universal-no-appid
path: app/build/outputs/apk/debug/app-universal-debug.apk

- name: Upload arm64-v8a APK
uses: actions/upload-artifact@v7
with:
name: app-arm64-v8a-no-appid
path: app/build/outputs/apk/debug/app-arm64-v8a-debug.apk
- name: Build Telemt Debug APK
run: ./gradlew assembleTelemtDebug

- name: Upload armeabi-v7a APK
uses: actions/upload-artifact@v7
with:
name: app-armeabi-v7a-no-appid
path: app/build/outputs/apk/debug/app-armeabi-v7a-debug.apk

- name: Upload x86_64 APK
uses: actions/upload-artifact@v7
with:
name: app-x86_64-no-appid
path: app/build/outputs/apk/debug/app-x86_64-debug.apk
- name: Run Telemt Debug Unit Tests
run: ./gradlew testTelemtDebugUnitTest
57 changes: 55 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,12 +92,26 @@ API_ID=12345678
API_HASH=your_api_hash_here
```

For signed release builds from Gradle, add these properties too:

```properties
RELEASE_STORE_FILE=keystore/release.jks
RELEASE_STORE_PASSWORD=your_store_password
RELEASE_KEY_ALIAS=your_key_alias
RELEASE_KEY_PASSWORD=your_key_password
```

### 3. Configure Push Notifications

1. Log in to the [Firebase console](https://console.firebase.google.com).
2. Create a new project.
3. Add a new application with the `applicationId` you need. If you have multiple applications with different IDs, create multiple Firebase applications. **By default, the `applicationId` for debug and release builds is different.**
4. Download the `google-services.json` file and copy it to the root of the **app** module (`monogram/app/google-services.json`). If you created multiple applications, copy only the most recent config.
3. Add two Firebase Android apps:

- `org.monogram` for release builds
- `org.monogram.debug` for debug builds

4. Download the `google-services.json` file and copy it to the root of the **app** module (
`monogram/app/google-services.json`). Make sure it contains clients for both package names above.
5. Go to the **Cloud Messaging** section.
6. Click **Manage service accounts**.
7. Select the **Keys** section at the top of the window that opens.
Expand Down Expand Up @@ -148,6 +162,45 @@ Then run the build script from the root of your project:
./build-tdlib.sh
```

The script supports:

- `./build-tdlib.sh official`
- `./build-tdlib.sh telemt`
- `./build-tdlib.sh both`

Upstream repositories used by the script:

- `official`: [tdlib/td](https://github.com/tdlib/td)
- `telemt`: [telemt/tdlib-obf](https://github.com/telemt/tdlib-obf)

If you run `./build-tdlib.sh` without arguments, it will prompt you to choose one of these modes
interactively.

### Build Variants and Gradle Tasks

Use these variants in Android Studio:

- `officialDebug`
- `officialRelease`
- `telemtDebug`
- `telemtRelease`

Useful Gradle tasks:

```bash
./gradlew assembleOfficialReleaseTdlibApks
./gradlew assembleTelemtReleaseTdlibApks
./gradlew assembleAllReleaseTdlibApks
./gradlew assembleOfficialDebugTdlibApks
./gradlew assembleTelemtDebugTdlibApks
./gradlew assembleAllDebugTdlibApks
```

APK names:

- regular TDLib: `monogram-arm64-v8a-<version>-release.apk`
- Telemt TDLib: `monogram-telemt-arm64-v8a-<version>-release.apk`

---

## Contributing
Expand Down
60 changes: 54 additions & 6 deletions README_ES.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,18 +105,28 @@ API_ID=12345678
API_HASH=your_api_hash_here
```

Para compilar releases firmados desde Gradle, añade también estas propiedades:

```properties
RELEASE_STORE_FILE=keystore/release.jks
RELEASE_STORE_PASSWORD=your_store_password
RELEASE_KEY_ALIAS=your_key_alias
RELEASE_KEY_PASSWORD=your_key_password
```

### 3. Configurar notificaciones

1. Inicia sesión en la
[consola de Firebase](https://console.firebase.google.com).
2. Crea un nuevo proyecto.
3. Agrega una nueva aplicación con el `applicationId` que necesitas. Si tienes
múltiples aplicaciones con diferentes IDs, crea múltiples aplicaciones de
Firebase. **Por defecto, el `applicationId` para compilaciones debug y
release son diferentes.**
3. Agrega dos aplicaciones Android en Firebase:

- `org.monogram` para builds release
- `org.monogram.debug` para builds debug

4. Descarga el archivo `google-services.json` y cópialo a la raíz de módulo
**app** (`monogram/app/google-services.json`). Si creaste múltiples
aplicaciones, solo copia la configuración más reciente.
**app** (`monogram/app/google-services.json`). Asegúrate de que el archivo
incluya clientes para ambos package names.
5. Ve a la sección **Cloud Messaging**.
6. Ve a **Manage service accounts**.
7. Selecciona la sección **Keys** en el tope de la ventana que se abre.
Expand Down Expand Up @@ -172,6 +182,44 @@ Después ejecuta el script de compilación desde la raíz de tu proyecto:
./build-tdlib.sh
```

El script soporta:

- `./build-tdlib.sh official`
- `./build-tdlib.sh telemt`
- `./build-tdlib.sh both`

Repositorios upstream usados por el script:

- `official`: [tdlib/td](https://github.com/tdlib/td)
- `telemt`: [telemt/tdlib-obf](https://github.com/telemt/tdlib-obf)

Si lo ejecutas sin argumentos, te pedirá elegir una opción.

### Variants y tareas de Gradle

En Android Studio usa estos variants:

- `officialDebug`
- `officialRelease`
- `telemtDebug`
- `telemtRelease`

Tareas útiles de Gradle:

```bash
./gradlew assembleOfficialReleaseTdlibApks
./gradlew assembleTelemtReleaseTdlibApks
./gradlew assembleAllReleaseTdlibApks
./gradlew assembleOfficialDebugTdlibApks
./gradlew assembleTelemtDebugTdlibApks
./gradlew assembleAllDebugTdlibApks
```

Nombres de APK:

- TDLib normal: `monogram-arm64-v8a-<version>-release.apk`
- TDLib Telemt: `monogram-telemt-arm64-v8a-<version>-release.apk`

---

## Contribuir
Expand Down
56 changes: 54 additions & 2 deletions README_KOR.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,12 +91,26 @@ API_ID=12345678
API_HASH=your_api_hash_here
```

Gradle에서 서명된 release 빌드를 만들려면 다음 값도 추가하세요:

```properties
RELEASE_STORE_FILE=keystore/release.jks
RELEASE_STORE_PASSWORD=your_store_password
RELEASE_KEY_ALIAS=your_key_alias
RELEASE_KEY_PASSWORD=your_key_password
```

### 3. 푸시 알림 설정

1. [Firebase Console](https://console.firebase.google.com)에 로그인합니다.
2. 새 프로젝트를 생성합니다.
3. 필요한 `applicationId`로 새 애플리케이션을 추가합니다. 다른 ID를 가진 여러 애플리케이션이 있는 경우 여러 Firebase 애플리케이션을 생성하세요. **기본적으로 디버그 빌드와 릴리스 빌드의 `applicationId`는 다릅니다.**
4. `google-services.json` 파일을 다운로드하여 **app** 모듈의 루트(`monogram/app/google-services.json`)에 복사합니다. 여러 애플리케이션을 생성한 경우 가장 최근의 구성 파일만 복사하세요.
3. Firebase에 Android 앱 두 개를 추가합니다:

- `org.monogram` for release builds
- `org.monogram.debug` for debug builds

4. `google-services.json` 파일을 다운로드하여 **app** 모듈의 루트(`monogram/app/google-services.json`)에 복사합니다. 파일
안에 두 package name 모두에 대한 client가 들어 있어야 합니다.
5. **Cloud Messaging** 섹션으로 이동합니다.
6. **서비스 계정 관리(Manage service accounts)**를 클릭합니다.
7. 열린 창 상단에서 **키(Keys)** 섹션을 선택합니다.
Expand Down Expand Up @@ -147,6 +161,44 @@ sudo apt-get install build-essential git curl wget php perl gperf unzip zip defa
./build-tdlib.sh
```

스크립트는 다음 모드를 지원합니다:

- `./build-tdlib.sh official`
- `./build-tdlib.sh telemt`
- `./build-tdlib.sh both`

스크립트가 사용하는 업스트림 저장소:

- `official`: [tdlib/td](https://github.com/tdlib/td)
- `telemt`: [telemt/tdlib-obf](https://github.com/telemt/tdlib-obf)

인자 없이 실행하면 선택 메뉴가 표시됩니다.

### Build Variants 및 Gradle 작업

Android Studio에서는 다음 variants를 사용하세요:

- `officialDebug`
- `officialRelease`
- `telemtDebug`
- `telemtRelease`

유용한 Gradle 작업:

```bash
./gradlew assembleOfficialReleaseTdlibApks
./gradlew assembleTelemtReleaseTdlibApks
./gradlew assembleAllReleaseTdlibApks
./gradlew assembleOfficialDebugTdlibApks
./gradlew assembleTelemtDebugTdlibApks
./gradlew assembleAllDebugTdlibApks
```

APK 이름:

- 일반 TDLib: `monogram-arm64-v8a-<version>-release.apk`
- Telemt TDLib: `monogram-telemt-arm64-v8a-<version>-release.apk`

---

## 기여하기
Expand Down
57 changes: 55 additions & 2 deletions README_RU.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,12 +92,27 @@ API_ID=12345678
API_HASH=your_api_hash_here
```

Для подписанных release-сборок из Gradle добавьте также эти свойства:

```properties
RELEASE_STORE_FILE=keystore/release.jks
RELEASE_STORE_PASSWORD=your_store_password
RELEASE_KEY_ALIAS=your_key_alias
RELEASE_KEY_PASSWORD=your_key_password
```

### 3. Настройка push-уведомлений

1. Войдите в [консоль Firebase](https://console.firebase.google.com).
2. Создайте новый проект.
3. Добавьте новое приложение с нужным `applicationId`. Если в проекте есть несколько вариантов с разными ID, создайте несколько приложений. **По умолчанию `applicationId` для debug и release сборок отличаются.**
4. Скачайте файл `google-services.json` и скопируйте его в корень модуля **app** (`monogram/app/google-services.json`). Если вы создали несколько приложений, скопируйте только самый последний конфиг.
3. Добавьте в Firebase два Android-приложения:

- `org.monogram` для release-сборок
- `org.monogram.debug` для debug-сборок

4. Скачайте файл `google-services.json` и скопируйте его в корень модуля **app** (
`monogram/app/google-services.json`). Убедитесь, что внутри него есть clients для обоих package
name выше.
5. Перейдите в раздел **Cloud Messaging**.
6. Нажмите **Manage service accounts**.
7. В открывшемся окне выберите раздел **Keys** вверху.
Expand Down Expand Up @@ -148,6 +163,44 @@ sudo apt-get install build-essential git curl wget php perl gperf unzip zip defa
./build-tdlib.sh
```

Скрипт поддерживает:

- `./build-tdlib.sh official`
- `./build-tdlib.sh telemt`
- `./build-tdlib.sh both`

Исходные репозитории, которые использует скрипт:

- `official`: [tdlib/td](https://github.com/tdlib/td)
- `telemt`: [telemt/tdlib-obf](https://github.com/telemt/tdlib-obf)

Если запустить `./build-tdlib.sh` без аргументов, скрипт покажет интерактивный выбор режима.

### Build Variants и Gradle-задачи

В Android Studio используйте варианты:

- `officialDebug`
- `officialRelease`
- `telemtDebug`
- `telemtRelease`

Полезные Gradle-задачи:

```bash
./gradlew assembleOfficialReleaseTdlibApks
./gradlew assembleTelemtReleaseTdlibApks
./gradlew assembleAllReleaseTdlibApks
./gradlew assembleOfficialDebugTdlibApks
./gradlew assembleTelemtDebugTdlibApks
./gradlew assembleAllDebugTdlibApks
```

Имена APK:

- обычный TDLib: `monogram-arm64-v8a-<version>-release.apk`
- Telemt TDLib: `monogram-telemt-arm64-v8a-<version>-release.apk`

---

## Участие в разработке
Expand Down
Loading