publish on F-Droid

Eigene App bei f-Droid publizieren

Ich selber nutze nicht den Google Play Store, da sich die Free OpenSource Software (FOSS) auch im F-Droid Store befinden. Weil ich vor habe, meine Apps als OpenSource zu veröffentlichen, sollte es ja auch möglich sein, dass meine App in den F-Droid Store kommt.

Ich habe nun einen Text-Editor in F-Droid veröffentlicht. Zuerst hatte er leider mit einem Android 6 Permission Bug. Durch eine Automatisierung ist aber bereits eine aktuelle Version online. Es recht einfach, darin seine App zu veröffentlichen. Die Schritte sind in CONTRIBUTING.md beschrieben. Bei Problemen sollte man aber fit in Englisch sein und sich einmal mit git und den Begriffen merge, head, push force, upstream, rebase und squash auseinander gesetzt habe.

Der Ablauf ist folgender:

  • Quellcode inkl. einer OpenSource Lizenz auf z.B. github veröffentlichen
  • fdroidserver Tools installieren
  • einen Fork von fdroiddata in seinem gitlab Account machen (bei gitlab kann man sich mit einem github-Account einloggen!)
  • auf seinem Rechner ein git clone dieses Forks machen
  • mit fdroid Befehlen seinen App Code holen
  • mit einem Texteditor eine "Metadatei" zur App erstellen
  • Sicherstellen, dass mit den fdroid Befehlen eine build gemacht werden kann

Wenn all das klappt, überträgt Ihr mit git push diese Metadatei in euren Fork auf gitlab. Im nächsten Schritt macht ihr beim Original (fdroiddata) einen Merge-Request (das geht über die Webseite sehr leicht). In ein paar Stunden oder Tagen seit ihr gemerged.. oder ihr bekommt Bescheid, falls etwas klemmt.

Ein wenig dazu (mit meinem Texteditor als Beispiel) habe ich auf meiner Homepage (http://dummer.click) beschreiben. Ein Update in einem Merge Prozess und wo ich mich das erste Mal mit rebase und squash beschäftigt habe, ist hier zu finden.

Ein eigenes Repository für F-Droid

Alternativ kann man in f-Droid auch ein eigenes Repository angeben. Z.B. mit einem Apache Webserver, wo man mit dem Befehl fdroid init in einem Unterordner ein Repository anlegt. Details dazu findet man unter Guardianproject. Zum Testen ist das ganz nett: Man kann sich mit dem Rechner auf dem AP des Handys verbinden, und der Rechner hat das Repository. So kann man leichter Testen, wie die Metadaten angezeigt werden.

Will man kein "Binary" Repository machen und die APK mit den Quellen erzeugen, so geht dies auch. Ich habe mir dazu folgendes notiert:

cd /srv/http/fdroid
fdroid init
fdroid import --url https://github.com/no-go/TextThing --subdir app
fdroid readmeta
fdroid rewritemeta click.dummer.textthing
 fdroid lint click.dummer.textthing
click.dummer.textthing: Summary '': Summary yet to be filled
click.dummer.textthing: License 'Unknown': No license specified
click.dummer.textthing: Description at line 'No description available': Description yet to be filled
click.dummer.textthing: Category 'None' is not valid
click.dummer.textthing: Build generated by `fdroid import` - remove disable line once ready
/srv/http/fdroid
tux@localhorst$
vim metadata/click.dummer.textthing.txt
      -> commit=? id anpassen!!
      -> gradle=yes befügen!
/srv/http/fdroid
tux@localhorst$ fdroid rewritemeta click.dummer.textthing
/srv/http/fdroid
tux@localhorst$ fdroid lint click.dummer.textthing
/srv/http/fdroid
tux@localhorst$ fdroid build -v -l click.dummer.textthing
...
INFO: success: click.dummer.textthing
INFO: Finished. INFO: 1 builds succeeded
/srv/http/fdroid
tux@localhorst$ fdroid publish
INFO: 1 apps, 1 key aliases
INFO: Processing unsigned/click.dummer.textthing_18.apk
...
INFO: Key alias: *****
INFO: Key does not exist - generating...
INFO: Published click.dummer.textthing_18.apk
/srv/http/fdroid
tux@localhorst$ fdroid update -c
INFO: Creating signed index with this key (SHA256):
...
/srv/http/fdroid
tux@localhorst$ fdroid update

Schreibe einen Kommentar