Installation der Server- und Repo-Werkzeuge

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.

Die F-Droid-Werkzeuge, auch bekannt unter fdroidserver, sind Teil aktueller Versionen (Debian/jessie, Ubuntu/utopic, und neuere). Dies sollte genügen, um die F-Droid-Basiskonfiguration zu installieren:

sudo apt-get install fdroidserver

Ältere Versionen

Zur Installation in älteren Versionen, gibt es eine Reihe weiterer einfacher Schritte:

  • 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/wheezy: Einrichtung von wheezy-backports, dann:

    apt-get install fdroidserver/wheezy-backports
    

Guix

Die Tools sind auch im Guix-Hauptkanal erhältlich. Zur Installation:

guix install fdroidserver

macOS

fdroidserver kann mithilfe von MacPorts, Homebrew oder, als letzte Option, über easy_install direkt installiert werden:

über MacPorts:

port install fdroidserver

mitels Homebrew:

brew install android-sdk
android update sdk --no-ui --filter platform-tools,build-tools-22.0.1
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“.

  1. Konfiguration des Windows-Subsystems für Linux
  2. 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

  1. Java dem Windows-PATH zuordnen: http://www.kingluddite.com/tools/how-do-i-add-java-to-my-windows-path
  2. Cygwin installieren https://www.sourceware.org/cygwin/
  3. in Cygwin, diese Pakete installieren: gcc-core git openssh python3 python3-pyasn1 python3-imaging python3-paramiko python3-requests python3-setuptools rsync wget
  4. 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.py 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
pip3 install fdroidserver

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 apksigner curl lib32gcc1 lib32ncurses5 lib32stdc++6 lib32z1 default-jdk-headless python3-pil python3-pyasn1 python3-pyasn1-modules python3-ruamel.yaml python3-yaml ...
$ cd ~
$ wget https://dl.google.com/android/repository/tools_r25.2.3-linux.zip
$ echo "aafe7f28ac51549784efc2f3bdfc620be8a08213  tools_r25.2.3-linux.zip" | sha1sum -c
tools_r25.2.3-linux.zip: OK
$ unzip tools_r25.2.3-linux.zip
$ export USE_SDK_WRAPPER=yes
$ export ANDROID_HOME=~/android-sdk-linux
$ export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
$ android update sdk --no-ui --filter platform-tools,tools,build-tools-25.0.2,android-24

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
$ echo 'export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools' >> .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.

TODO

  • Korrektur von fdroid init --keystore bei Microsoft Windows Pfaden ….