Normalerweise erhalte ich Pakete aus dem http://f-droid.org/-Repository über deren Paketbrowser (weil ich dann eine Garantie habe, dass ich kostenlose (= freie) Software verwende); und sie sind mit ihrem Schlüssel signiert.
Ich verwende CyanogenMod 10; und ich habe Root-Zugriff.
Ich mag es nicht, Pakete aus "unbekannten Quellen" dafür zuzulassen.
Kann ich das System so einrichten, dass f-droid als bekannte Quelle zählt und Pakete aus allen anderen unbekannten Quellen standardmäßig nicht wie bisher installiert werden dürfen.
Vielleicht können etwas Patches in der CyanogenMod-Distribution sein, um den Schlüssel von f-droid als Schlüssel für eine "bekannte Quelle" von Paketen hinzuzufügen.
Fast jede F-Droid-App ist mit einem anderen Schlüssel signiert, obwohl sich alle Schlüssel im selben Schlüsselspeicher befinden. Damit der Schalter umgangen werden kann, müsste der F-Droid-Client als System-App installiert und als solche sicher zum Laufen gebracht werden. Damit dies funktioniert, wurde Code bereitgestellt, der jedoch noch nicht integriert wurde.
Laut diesem Changelog sollte die kommende f-droid Version 0.71 dies unterstützen.
Eine weitere Erwähnung dazu findet sich in: https://github.com/WhisperSystems/TextSecure/issues/127#issuecomment-51065857
Es gibt eine F-Droid-Berechtigungserweiterung
https://f-droid.org/en/packages/org.fdroid.fdroid.privileged.ota/
Damit sollten Sie in der Lage sein, Apps zu installieren, ohne "unbekannte Quelle" aktivieren zu müssen.
Es gibt zwei Möglichkeiten zur Installation. eine mit Sideload. ein anderer mit adb root. Ich werde beide unten erklären.
Wenn es richtig gemacht wird, sollte fdroid mit der Berechtigungserweiterung sogar ein Zurücksetzen auf die Werkseinstellungen überstehen. es ist dann ein Teil des Systems.
Vorbereitungen für beide Installationsmethoden
Laden Sie die F-Droid-Berechtigungserweiterung von der F-Droid-Website auf Ihren PC herunter.
https://f-droid.org/en/packages/org.fdroid.fdroid.privileged.ota/
Zum Herunterladen müssen Sie nach unten scrollen und dann die neueste ZIP-Datei herunterladen. der Dateiname sollte in etwa so lauten:org.fdroid.fdroid.privileged.ota_2110.zip
installiere adb auf deinem pc und aktiviere "usb debugging" auf deinem gerät. suchen Sie im Internet nach, wie das geht.
adb ist ein Befehlszeilentool, öffnen Sie also ein Terminal. Navigieren Sie dann zu dem Verzeichnis, in dem sich die privilegierte Erweiterungs-ZIP-Datei befindet.
Verbinden Sie das Gerät über ein USB-Kabel mit Ihrem PC.
Überprüfen Sie mit dem Befehl, ob das Gerät erkannt wird adb devices
.
es sollte so etwas zeigen:
$ adb devices
List of devices attached
<some number> device
Wenn es sagt unauthorized
oder irgendetwas anderes, müssen Sie Ihre Verbindung debuggen. suchen Sie im Internet nach, wie das geht.
die Sideload-Methode
Dazu benötigen Sie eine benutzerdefinierte Wiederherstellung, die Sideload auf Ihrem Gerät installiert ermöglicht.
Wenn Sie lineageos installiert haben, haben Sie normalerweise bereits eine geeignete benutzerdefinierte Wiederherstellung. andernfalls laden und installieren Sie twrp ( https://twrp.me/ ).
Verbinden Sie Ihr Gerät mit einem USB-Kabel mit dem PC. Überprüfen Sie, ob das Gerät unter aufgelistet ist
adb devices
Booten Sie Ihr Gerät zum Seitenladen
adb reboot sideload
ODER: Starten Sie Ihr Gerät zur Wiederherstellung
adb reboot recovery
Stellen Sie dann auf Ihrem Gerät in der Wiederherstellung das Gerät auf Sideload ein. In der Lineageos-Wiederherstellung heißt dies "Apply Update" und dann "Apply from ADB".
Berechtigungserweiterung per Sideload installieren
adb sideload org.fdroid.fdroid.privileged.ota_2110.zip
Gerät wieder auf Android neustarten.
adb reboot
ODER: Klicken Sie im Wiederherstellungsmenü auf Neustart
Überprüfen Sie, ob die Berechtigungserweiterung aktiviert ist. siehe unten, wie das geht.
Mehr Informationen:
die ADB-Root-Methode
Dazu muss auf Ihrem Gerät auch "rooted debugging" aktiviert sein (neben "usb debugging").
Es scheint, dass "rooted Debugging" nur verfügbar ist, wenn Sie ein benutzerdefiniertes Rom wie Lineageos installiert haben.
Entpacken Sie die heruntergeladene Berechtigungserweiterung.
Führen Sie nun nacheinander die folgenden adb-Befehle aus
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
Vergewissern Sie sich, dass nach jedem Schritt keine Fehlermeldungen angezeigt werden. außer adb remount
was bei neueren Lineageos-Versionen unnötig zu sein scheint. aber kein Schaden angerichtet (soweit ich verstehe), also fahre trotzdem fort.
Überprüfen Sie nach dem Neustart, ob die Berechtigungserweiterung aktiviert ist.
Mehr Informationen:
So überprüfen Sie, ob die Berechtigungserweiterung aktiviert ist
"privilegierte Erweiterung" ist die allerletzte Option auf der Einstellungsseite. Wenn Sie ganz nach unten gescrollt haben und die letzte Option nicht „privilegierte Erweiterung“ ist, dann ist die privilegierte Erweiterung nicht aktiviert. auch wahrscheinlich nicht richtig installiert.
Anmerkungen:
Ich habe viele fdroid mit Berechtigungserweiterungen auf vielen Lineageos auf vielen Geräten installiert. oft gab es auf dem weg hicks und es funktioniert nicht aus gründen die ich nicht verstehe.
Meistens habe ich es nach einiger Suche im Internet und etwas Basteln geschafft, es zum Laufen zu bringen. Manchmal scheint es nur dummes Glück zu sein, durch Zufall die richtige Befehlskombination zu finden, um es zum Laufen zu bringen.
manchmal geht es einfach nicht. tut mir leid, dass ich dir dann nicht weiter helfen kann.
imz -- Ivan Zakharyaschev
daithib8
daithib8
imz -- Ivan Zakharyaschev