DMRConnectDMRConnect
Главная · Для разработчиков · Производителям раций

Установка на парк устройств и обновления

Если вы раздаёте рации клубу, организации или продаёте их с предустановленным DMRConnect, здесь всё, что нужно: какие файлы брать, как проверить подлинность, как приложение будет обновляться и как настроить сразу много устройств.

Обновлено 19.10.2026

Кому
продавцам раций, клубам и организациям с парком устройств, интеграторам MDM
Пакет
ru.stackworks.dmr
Подпись
SHA-256 D2:B3:C4:2E:7D:87:BF:BE:E3:20:44:0B:6B:E9:49:7B:6B:87:F3:E8:B0:68:88:1D:A8:F2:C8:E3:2C:66:D2:EF
Цена
приложение бесплатное, лицензий и ключей на устройство не нужно

Какой файл ставить

ФайлAndroidПроцессорКогда брать
dmrconnect.apk7.0 и новеевсеуниверсальный, если не знаете, что внутри рации. Самый большой, около 26 МБ
dmrconnect-arm64.apk7.0 и новееarm64-v8aсовременные телефоны и рации, лучший звук: вокодер MD380
dmrconnect-armv7.apk7.0 и новееarmeabi-v7a32-битные рации, например Hytera P50
dmrconnect-legacy.apk5.1.1 и 6всестарые рации и телефоны, например Motorola LEX F10
dmrconnect-legacy-arm64.apk
dmrconnect-legacy-armv7.apk
5.1.1 и 6под процессорто же, файл поменьше

Процессор устройства покажет adb shell getprop ro.product.cpu.abilist или наша «Проверка рации». Сборка для Android 5.1-6 отличается от основной: в ней нет вокодера MD380, звук на приёме хуже, нет уведомлений RuStore. Для Android 7 и новее она не нужна.

Из RuStore ставится та же программа. Разница в том, что её обновляет магазин, а не само приложение.

Проверить подлинность

Все сборки, с сайта, из RuStore и для Android 5.1-6, подписаны одним ключом. Перед установкой на парк сверьте отпечаток:

keytool -printcert -jarfile dmrconnect.apk | grep SHA256
# SHA256: D2:B3:C4:2E:7D:87:BF:BE:E3:20:44:0B:6B:E9:49:7B:6B:87:F3:E8:B0:68:88:1D:A8:F2:C8:E3:2C:66:D2:EF

apksigner verify --print-certs dmrconnect.apk

Если отпечаток другой, файл не наш, не ставьте его. Из-за общей подписи сборки можно менять друг на друга без удаления приложения и потери настроек.

Массовая установка

На устройства с включённой отладкой по USB:

adb install -r dmrconnect.apk

# на несколько подключённых раций сразу
for s in $(adb devices | awk 'NR>1 && $2=="device" {print $1}'); do
  adb -s "$s" install -r dmrconnect.apk
done

Через MDM ставится как обычное приложение по пакету ru.stackworks.dmr. Особых прав приложение не требует. Человек при первом запуске сам разрешает микрофон и уведомления, а для кнопок в фоне включает службу специальных возможностей, см. «Кнопка PTT».

После перезагрузки приложение само переподключается к последнему серверу, если у человека это включено или на устройстве работал хотспот. Сервис после каждой загрузки у всех подряд мы не поднимаем: на части телефонов система за это роняет приложение.

Как приложение обновляется

Сборки с сайта проверяют обновление при каждом запуске. Они читают файл канала и, если там версия новее установленной, предлагают человеку обновиться. Ставит обновление только человек: Android всегда спрашивает подтверждение установки. Сборка из RuStore сама не проверяет, её обновляет магазин.

КаналФайлДля каких сборок
основнойdmrconnect.ru/version.jsonAndroid 7.0 и новее
старые устройстваdmrconnect.ru/legacy/version.jsonсборка для Android 5.1.1 и 6
{
  "versionCode": 105,
  "versionName": "2.2.0",
  "url": "https://dmrconnect.ru/dmrconnect.apk",
  "notes": "DMRConnect 2.2.0\n- ...",
  "urls": {
    "arm64-v8a": "https://dmrconnect.ru/dmrconnect-arm64.apk",
    "armeabi-v7a": "https://dmrconnect.ru/dmrconnect-armv7.apk"
  }
}

Приложение сравнивает versionCode со своим. Файл берёт из urls по первому подходящему процессору устройства, а если подходящего нет, то общий url. Так рация качает 8-15 МБ вместо 26. Текст notes показывается человеку в окне обновления. Отдельный канал у старых устройств нужен, чтобы рация на Android 5.1 не скачала основную сборку, которая на ней не встанет.

Файл канала можно читать и вашей системе учёта, чтобы видеть, какая версия сейчас актуальна.

Настроить много раций сразу

Вводить серверы на каждой рации руками не нужно. В облачной CPS cps.dmrconnect.ru (вход через Telegram) вы один раз собираете конфиг: серверы, позывные и DMR ID, контакты, Talker Alias. Потом добавляете устройства и назначаете им конфиги.

  1. На каждой рации один раз запустите DMRConnect. Device ID показывается в «Настройках», его можно скопировать.
  2. В кабинете добавьте устройства по Device ID. Добавить можно только устройство, на котором приложение уже запускалось, случайный номер кабинет не примет.
  3. Назначьте устройствам конфиги. Одной рации можно назначить несколько, серверы сложатся.
  4. На рации нажмите «Настройки», «Скачать настройки». Серверы и контакты применятся как есть, на устройстве ничего донастраивать не нужно.

Это особенно удобно для раций без клавиатуры и без сенсора, например Hytera P50: там пункт «Скачать настройки» есть в кнопочном меню. Звук, тема и назначение кнопок в конфиг не входят, их каждый настраивает у себя.

Партии и предустановка

Если вы продаёте рации с DMRConnect или переводите на него организацию, напишите в группу DMRConnect. Проверим модель до закупки, добавим её в профили, чтобы кнопки работали сразу, и подскажем, какую сборку ставить.

Нашли неточность или не хватает функции? Напишите в группу DMRConnect, поправим справочник.