Phonegap Build – Android Release Build erstellen

Wir haben uns aus aktuellem Anlass entschlossen auf unserem Blog eine kleine Serie von Posts zum Thema Phonegap zu veröffentlichen. Da wir diese Woche einige Probleme hatten eine Android App zu releasen, möchte ich euch heute zeigen wie das geht und zwar mit Hilfe von Adobe Phonegap Build.

Adobe Phonegap Build

Phonegap Build ist ein Service von Adobe welcher einem helfen soll, das oft umständliche Builden und Debuggen von Phonegap Apps zu verinfachen. Man kann sich direkt mit seinem Github Account einloggen und auch den Code für die Builds gleich automatisch aus dem Repo pullen lassen.
Eine detailliertere Einführung gibt es vielleicht mal in einem späteren Blogpost. Ich gehe einfach mal davon aus, das Leute die diesen Artikel über Google gefunden haben, bereits wissen was Phonegap Build ist und wie man es verwendet.

Android Release erstellen

Wie eigentlich überall gibt es bei Android zwei Build-Modi: Debug-Modus und Release Modus. Wer sein Android App veröffentlichen will, braucht ein apk im Release Modus. Standardmässig werden aber stets Debug Builds erstellt. Um einen Release zu erstellen muss die App zuerst mit einem Private Key gesignt werden, ausserdem müssen einige Anpassungen im manifest gemacht werden. Da das Manifest bei Adobe Phonegap Build jedoch automatisch generiert wird, muss man dafür nur sichergehen, dass man Debugging und Hydration in den App Einstellungen deaktiviert hat. Das Generieren eines Keys bleibt einem jedoch nicht erspart, dies ist jedoch ziemlich einfach.

Signing Key generieren

Um den Signing Key zu generieren verwenden wir das CMD/Shell Tool keytool. Dieses ist Teil des JAVA SDKs und sollte direkt über CMD/Shell aufrufbar sein, insofern die JAVA_HOME Systemvariable korrekt gesetzt ist.

Für Debug Builds erstellt Phonegap automatisch einen Debug Signing Key mit folgenden Werten:

  • Keystore name: „debug.keystore“
  • Keystore password: „android“
  • Key alias: „androiddebugkey“
  • Key password: „android“
  • CN: „CN=Android Debug,O=Android,C=US“

Wie gesagt benötigen wir aber unseren eigenen, persönlichen Key um damit gesignte Apps im Play Store veröffentlichen zu können. Das Keytool hat verschiedene Parameter, die ihr gerne im Detail hier nachschauen könnt. Grundsätzlich reicht jedoch folgender Aufruf:

keytool -genkey -v -keystore my-release-key.keystore-alias alias_name -keyalg RSA -keysize 2048 -validity 10000
 
Wobei alias_name und der Name des Ausgabefiles natürlich angepasst werden können. Die Validilty gibt an, wie lange dieser Key gültig sein soll. Dazu gilt es zu sagen, dass im Play Store keine Apps akzeptieren, deren Gültigkeit vor dem 22. Oktober 2033 enden.
Sämtliche weiteren Informationen wie Passwort, CN, OU usw. werden von euch per Eingabeaufforderung verlangt.

Signing Key hinterlegen

Den so erstellten Key müsst ihr nun auf build.phonegap.com bei eurem App hinterlegen. Wichtig dabei ist, dass der Alias korrekt eingegeben wird. Habt ihr das gemacht, könnt ihr nun mit diesem Key gesignte Release-Builds erstellen, welche auch vom Google Play store akzeptiert werden 🙂

Weitere Infos / Quellen

    Leave a Reply