Обычно я получаю пакеты из репозитория http://f-droid.org/ через их браузер пакетов (потому что тогда у меня есть гарантия, что я использую бесплатное (= libre) программное обеспечение); и они подписаны своим ключом.
Я использую CyanogenMod 10; и у меня есть root-доступ.
Мне не нравится разрешать для этого пакеты из «неизвестных источников».
Могу ли я настроить систему так, чтобы f-droid считался известным источником, а пакеты из всех других неизвестных источников не разрешались устанавливать по умолчанию, как раньше.
Возможно, что-то можно патчить в дистрибутив CyanogenMod, чтобы добавить ключ f-droid в качестве ключа для "известного источника" пакетов.
Почти каждое приложение F-Droid подписано другим ключом, хотя все ключи находятся в одном и том же хранилище ключей. Чтобы переключатель можно было обойти, клиент F-Droid должен быть установлен как системное приложение и должен работать безопасно как таковой. Для этого был предоставлен некоторый код, но он еще не интегрирован.
Согласно этому журналу изменений , предстоящая версия f-droid 0.71 должна поддерживать это.
Другое упоминание об этом находится в: https://github.com/WhisperSystems/TextSecure/issues/127#issuecomment-51065857 .
есть расширение привилегий f-droid
https://f-droid.org/en/packages/org.fdroid.fdroid.privived.ota/
с ним вы сможете устанавливать приложения без включения «неизвестного источника».
есть два способа установки. один с боковой загрузкой. другой, использующий корень adb. я объясню оба ниже.
если все сделано правильно, fdroid с расширением привилегий должен пережить даже сброс до заводских настроек. тогда это часть системы.
подготовка к обоим методам установки
загрузите расширение привилегий f-droid с веб-сайта f-droid на свой компьютер.
https://f-droid.org/en/packages/org.fdroid.fdroid.privived.ota/
чтобы скачать, вам нужно прокрутить вниз, а затем загрузить последний почтовый индекс. имя файла должно быть примерно таким:org.fdroid.fdroid.privileged.ota_2110.zip
установите adb на свой компьютер и включите «отладку по usb» на своем устройстве. поищите в инете как это сделать.
adb — это инструмент командной строки, поэтому откройте терминал. затем перейдите в каталог, где находится zip-файл с привилегированным расширением.
подключите устройство к компьютеру с помощью USB-кабеля.
убедитесь, что устройство распознано с помощью команды adb devices
.
это должно показать что-то вроде этого:
$ adb devices
List of devices attached
<some number> device
если он говорит unauthorized
или что-то еще, вам нужно отладить ваше соединение. поищите в инете как это сделать.
метод боковой загрузки
для этого вам понадобится кастомное рекавери, которое позволяет установить боковую загрузку на ваше устройство.
если у вас установлен lineageos, у вас обычно уже есть подходящее кастомное рекавери. в противном случае скачайте и установите twrp ( https://twrp.me/ ).
подключите ваше устройство к компьютеру с помощью USB-кабеля. убедитесь, что устройство указано в
adb devices
загрузите свое устройство для боковой загрузки
adb reboot sideload
ИЛИ: загрузите устройство для восстановления
adb reboot recovery
затем на вашем устройстве в режиме восстановления установите для устройства неопубликованную загрузку. в восстановлении lineageos это называется «применить обновление», затем «применить из ADB».
установить расширение привилегий с помощью неопубликованной загрузки
adb sideload org.fdroid.fdroid.privileged.ota_2110.zip
перезагрузите устройство обратно на андроид.
adb reboot
ИЛИ: нажмите на перезагрузку в меню рекавери
проверьте, включено ли расширение привилегий. см. ниже, как это сделать.
Дополнительная информация:
метод корня adb
для этого вам также необходимо включить «отладку с правами root» на вашем устройстве (наряду с «отладкой по usb»).
кажется, что «отладка с рутом» доступна только в том случае, если у вас установлен пользовательский ром, такой как lineageos.
разархивируйте загруженное расширение привилегий.
теперь выполните следующие команды adb одну за другой
adb root
adb remount
adb push F-DroidPrivilegedExtension.apk /system/priv-app/
adb push permissions_org.fdroid.fdroid.privileged.xml /system/etc/permissions/
adb push F-Droid.apk /system/app/
adb push 80-fdroid.sh /system/addon.d/
adb reboot
убедитесь, что после каждого шага нет сообщений об ошибках. за исключением того adb remount
, что кажется ненужным в последних версиях lineageos. но никакого вреда (насколько я понимаю), так что продолжайте в любом случае.
после перезагрузки проверьте, включено ли расширение привилегий.
Дополнительная информация:
как проверить, включено ли расширение привилегий
«привилегированное расширение» — самая последняя опция на странице настроек. если вы прокрутили весь путь до конца, и последняя опция не является «привилегированным расширением», тогда привилегированное расширение не включено. тоже наверное не правильно установил.
ноты:
я установил много fdroid с расширениями привилегий на многих линиях на многих устройствах. часто были икоты по пути, и это не работает по причинам, которые я не понимаю.
большую часть времени мне удавалось заставить его работать после некоторого поиска в Интернете и некоторой возни. иногда кажется, что просто повезло получить правильную комбинацию команд по стечению обстоятельств, чтобы заставить ее работать.
иногда просто не работает. извините, что я не могу помочь вам дальше.
imz -- Иван Захарьящев
daithib8
daithib8
imz -- Иван Захарьящев