Зелёная боль
разработка под Android и прочее

Создание своего репозитория приложений с помощью F-Droid
07.01.2018 976

how to create own fdroid logo

Тема своего собственного репозитория приложений поднималась мною еще в 2015 году, и тогда это было сделать чуточку тяжелее чем сейчас. У F-Droid за это время появились подробные мануалы о том как это сделать, правда, не без подводных камней. По крайней мере установка под линукс проходит не совсем так, как описано в мануалах (кто бы мог подумать). Вот обо всем об этом и хочется рассказать под катом.

Вместо введения

Сам репозриторий представляет из себя веб-сервер с открытым листингом директорий и само приложение, которое генерирует набор разных метаданных (информацию о приложениях, наименование о каталогах, наборы иконок для приложения и прочее). Все это необходимо для того, чтобы мобильное приложение воспринимало открытый для просмотра каталог именно как репозиторий, а не просто каталог.

f-droid metadata example

Установка

По большому счету установка детально описана на страницах мануала: тут и тут. Однако, в установке есть пара нюансов. Во-первых, установка всех компонентов Android SDK происходит не так, как написано в мануале (build-tools объявлен как obsolete, и его уже нет в поиске без ключа —all). Во-вторых, не смотря на наличие в стандартных репозиториях ubuntu/debian пакета fdroidserver, репозиторий не получится подключить к мобильному приложению (через Toasts будет появляться ошибка «repository does not signed correctly«)  В итоге, для полной установки необходимо сделать следующее (предполагается, что все действия происходят в домашнем каталоге пользователя):

Далее редактируем конфиг nginx (nano /etc/nginx/sites-available/default)

После этого необходимо перезапустить nginx (service nginx restart). Далее переходим в корень сайта и запускаем инициализацию репозитория

Ключ -v отвечает за вывод всех ошибок и предупреждений, которые могут быть в процессе инициализации. fdroid сгенерирует каркас репозитория, после чего необходимо внести изменения в конфиг (sudo -u www-data nano config.py)

После этого можно копировать все *.apk файлы в созданный каталог repo. Не забудьте выставить всем перемещенным файлам того же владельца (chown -R www-data:www-data fdroid), что и созданный каталог. В моем случае это www-data. После чего необходимо запустить обновление репозитория.

В зависимости от количества apk файлов процесс может быть длительным, но после окончания репозиторий будет готов (можно проверить работу, открыв ссылку, которая хранится в переменной repo_url в конфиге fdroid), остается только добавить его в приложение на мобильном устройстве.

Последние шаги

Скачиваем последнюю версию F-Droid по ссылке с официального сайта, устанавливаем.  Далее  открываем настройки приложения, выбираем меню «Репозитории».

fdroid repository option location

После нажимаем на «+» и заполняем URL нового репозитория (как раз та самая ссылка, которая значилась в конфиге как repo_url).

fdroid repository option add location

После чего репозиторий будет подключен и останется только обновить каталог приложений, проведя пальцем по вкладке «Категории» сверху-вниз.

fdroid update repository swipe

Готово, репозиторий подключен, и приложения готовы к загрузке. В дальнейшем при изменении каталога приложений необходимо будет обновить fdroid на сервере и обновить каталог в мобильном приложении. Счастливой автономии!

Категории Common

Добавить комментарий

Ваш e-mail не будет опубликован.

Яндекс.Метрика