Die fdroidserver-Werkzeuge bieten alles, was für die Einrichtung und den Unterhalt eigener Repos, den Betrieb eines fdroid-Build-Servers und sogar die Bereitstellung einer eigenen Internetseite wie f-droid.org benötigt wird. Die F-Droid-Entwickler arbeiten zumeist mit Debian, Arch, und Ubuntu, somit sind das aktuell die am besten unterstützten Plattformen.
Um Ihre eigene App- und Mediensammlung einzurichten und zu betreiben, müssen Sie mithilfe der Instrumente von fdroidserver ein F-Droid-Repository konfigurieren. Um das komplette F-Droid Buildserver-Setup auszuführen, siehe Build Server Setup.
- Debian/Ubuntu/Mint/usw.
- Fedora/Archlinux
- Guix
- macOS
- Windows
- Docker Executable Image (jede Plattform)
- Installation des aktuellsten Codes (jede Plattform)
- Herstellung von Apps
- Herstellung aller Apps von f-droid.org
- Proprietäre, unfreie Programmbibliotheken
Debian/Ubuntu/Mint/usw.
Die F-Droid-Tools, die auch als fdroidserver bekannt sind, können aus dem Standard-Repository des Betriebssystems installiert werden. Auf Debian-basierten Betriebssystemen sollte dies für die Installation der grundlegenden F-Droid-Einrichtung ausreichen:
sudo apt-get install fdroidserver
Es kommt jedoch häufig vor, dass die Version von fdroidserver, die im Standardpaket-Repository des Betriebssystems verfügbar ist, nicht mehr aktuell ist.
Eine neuere Version erhalten
Eine neuere Version von fdroidserver finden Sie möglicherweise im F-Droid PPA oder im backports-Repository Ihres Betriebssystems.
-
Ubuntu/Mint: verwenden Sie das F-Droid PPA (Fingerabdruck:
9AAC 2531 93B6 5D4D F1D0 A13E EC46 32C7 9C5E 0151
):sudo add-apt-repository ppa:fdroid/fdroidserver sudo apt-get update sudo apt-get install fdroidserver
-
Debian: Zuerst Einrichtung von Backports, dann ersetzen Sie Ihre Debian-Version durch ‘buster’:
bash apt-get install fdroidserver/buster-backports
Fedora/Archlinux
Da die Pakete in diesen Distributionen neuer sein könnten als die offiziellen Pakete auf pypi, umgeht die Installation der Abhängigkeiten in einer separaten virtuellen Umgebung die Fehler bei der Auflösung der Abhängigkeiten:
python3 -m venv env
source env/bin/activate
pip install -e .
Guix
Die Tools sind auch im Guix-Hauptkanal erhältlich. Zur Installation:
guix install fdroidserver
macOS
Sie können fdroidserver
direkt mit Homebrew installieren, oder
easy_install
als letzte Möglichkeit:
Homebrew:
- Vorbereitung: Siehe die Homebrew-Formel für Anweisungen. Beispiel:
brew install android-sdk
android update sdk --no-ui --all --filter tools,platform-tools,build-tools-25.0.0
- Install fdroidserver:
brew install fdroidserver
mit easy_install
:
sudo easy_install fdroidserver
Windows
Windows 10 Subsystem für Linux
Mit dem Windows 10 „Anniversary Update“, können Sie eine Ubuntu-Umgebung aktivieren, die in Windows läuft, bekannt als „Bash in Windows“, „Ubuntu in Windows“, oder „Windows-Subsystem für Linux“.
- Konfiguration des Windows-Subsystems für Linux
- Installieren Sie fdroidserver aus dem F-Droid
PPA
(Fingerabdruck:
9AAC 2531 93B6 5D4D F1D0 A13E EC46 32C7 9C5E 0151
), indem Sie das hier in einer Bash Shell ausführen:sudo add-apt-repository ppa:fdroid/fdroidserver sudo apt-get update sudo apt-get install fdroidserver
Cygwin
- Java dem Windows-PATH zuordnen: http://www.kingluddite.com/tools/how-do-i-add-java-to-my-windows-path
- Cygwin installieren https://www.sourceware.org/cygwin/
- in Cygwin, diese Pakete installieren: gcc-core git openssh python3 python3-pyasn1 python3-imaging python3-paramiko python3-requests python3-setuptools rsync wget
- eine Cygwin-Bash-Shell öffnen und
easy_install fdroidserver
ausführen
Dann geschieht hiermit die Repo-Einrichtung:
export ANDROID_HOME=/cygdrive/c/pfad/zum/android-sdk
fdroid init # the keystore gen will fail
Nach Ausführung von fdroid init
, muss der Windows-Pfad zu Ihrem
Schlüsselspeicher in config.yml eingestellt werden. Es ist auch möglich,
fdroidserver in einer virtuellen Umgebung mithilfe von virtualenv und
pip zu installieren.
Docker Executable Image (jede Plattform)
Wenn Sie bereits Docker „Executable Images“ verwenden, dann ist die einfachste Methode fdroidserver auszuführen, unser Executable Image
Installation des aktuellsten Codes (jede Plattform)
Die einfachste Art die fdroidserver-Instrumente aus der Quelle zu installieren, ist die Verwendung von „virtualenv“ und „pip“. Vergewissern Sie sich zunächst, dass die Python3-Version von virtualenv oder pyvenv installiert ist, sie sollte in der Python-Distribution für Ihr Betriebssystem enthalten sein oder über andere Mechanismen wie dnf/yum/pacman/emerge/Fink/MacPorts/Brew eingeschlossen werden. Dann erfolgt so die Installation von fdroidserver in eine Python „virtual env“:
pyvenv fdroidserver-env
. fdroidserver-env/bin/activate
pip install git+https://gitlab.com/fdroid/fdroidserver.git
Variationen hierzu finden Sie in den CI-Tests: https://gitlab.com/fdroid/fdroidserver/blob/master/.gitlab-ci.yml
Herstellung von Apps
Um Apps mit F-Droid herzustellen, muss Java und das komplette Android-SDK installiert sein. Dieser Vorgang wird momentan nur unter GNU/Linux unterstützt, aber wir würden uns über Patches freuen, die ihn unter macOS und Windows zum Laufen brächten. Wenn Sie nur F-Droid-Repositorys von APK-Dateien erstellen wollen, die Sie bereits haben oder nicht verstehen was gemeint ist, können Sie diesen Abschnitt überspringen.
Um Android-Apps mit den fdroidserver-Programmierwerkzeugen herzustellen, müssen Java, das Android-SDK und einige weitere grundlegende Werkzeuge installiert sein. Nur Teile des Android-SDK stehen in Debian zur Verfügung, sodass das Android-SDK manuell installiert werden muss, genauso wie die dafür erforderlichen Pakete (die Android-SDK-Werkzeuge beinhalten einige 32-Bit-Binärdateien, diese i386-Bibliotheken werden auch auf 64-Bit-Systemen benötigt). Die F-Droid-Instrumente nutzen das Android-SDK, um Apps herzustellen und durchzusehen, das Android-SDK muss daher vor der Verwendung von fdroidserver installiert und konfiguriert sein.
Installieren Sie das
Android-SDK und
stellen Sie sicher, dass die Umgebungsvariable ANDROID_HOME
korrekt
eingestellt ist. Vergewissern Sie sich von der Echtheit der
heruntergeladenen Datei, die SHA-1-Prüfsumme kann auf der
Google-Download-Seite gegengeprüft werden.
$ sudo apt-get install fdroidserver
$ mkdir ~/android-sdk-linux
$ cd ~/android-sdk-linux
$ wget https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip
$ echo "87f6dcf41d4e642e37ba03cb2e387a542aa0bd73cb689a9e7152aad40a6e7a08 commandlinetools-linux-6858069_latest.zip" | sha256sum -c
commandlinetools-linux-6858069_latest.zip: OK
$ unzip commandlinetools-linux-6858069_latest.zip
$ export ANDROID_HOME="$HOME/android-sdk-linux"
$ ./cmdline-tools/bin/sdkmanager --sdk_root="$ANDROID_HOME" platform-tools "build-tools;30.0.3"
Hinweis: Wenn Sie Android Studio installiert haben, haben Sie das Android
SDK installiert. Es sollte unter ~/Android/Sdk
statt unter
~/android-sdk-linux
zu finden sein. Sie finden den Pfad in Android
Studio, wenn Sie das Menü Tools→SDK Manager öffnen.
Um diese Einstellungen dauerhaft der Shell hinzuzufügen:
$ echo export ANDROID_HOME=$ANDROID_HOME >> .bashrc
Herstellung aller Apps von f-droid.org
Um alle Apps, die in f-droid.org bereitstehen, herzustellen, werden eine ganze Reihe weiterer Software-Pakete benötigt:
- alle SDK-Plattformen auf die Apps zurückgreifen, die Sie herstellen möchten - alle Debian-Pakete, die bei jedem App-Herstellungsprozess benötigt werden (Maven, Ant, etc) - jedes Werkzeug zur Versionsverwaltung (Git, Subversion, Mercurial, usw.) - jede Version des Android-NDK, das Apps nutzen
Obendrein wird, um Apps so herzustellen, wie es auf f-droid.org geschieht, die komplette Build-Server-Konfiguration benötigt. Das ist eine sicherere, gebrauchsfertige Konfiguration, die einige weitere Einstellungen und Ressourcen erfordert. Die Skripte zur Build-Server-Bereitstellung liefern nützliche Hinweise zu allen notwendigen Kleinigkeiten.
Möchten Sie Ihre eigenen, offiziellen Versionen mit den F-Droid-Werkzeugen erstellen, dann muss auch der Signierprozess eingerichtet werden.
Proprietäre, unfreie Programmbibliotheken
Das Android-SDK wird von Google unter einer proprietären Lizenz zur Verfügung gestellt. Innerhalb dieser unterliegen die grundlegenden Build-Werkzeuge, SDK-Plattformen, unterstützende Programmbibliotheken und einige andere Komponenten der Apache-Lizenz und der Quelltext wird mitgeliefert.
Google APIs, die zur Herstellung von Apps, die Google Maps nutzen, verwendet werden, sind dahingehend frei, dass die Bibliothek auf dem Gerät vorinstalliert ist. Google Play Services, Google Admob, GCM und viele andere Drittanbieterbibliotheken sind proprietär und können nicht im F-Droid-Hauptrepository aufgenommen werden. Das MicroG-Projekt entwickelt freien Software-Ersatz für einige der am häufigsten verwendeten proprietären Google-Dienste.