Erstellen Sie Ihre eigene Android-Variante – Anpassung des Installationspakets (Android und CyanogenMod im Eigenbau, Teil 2)

Das in Teil 1 erstellte Installationspaket entspricht exakt dem, was das CyanogenMod (CM) Team ausliefert. Hier zeige ich, wie Sie den Build an eigene Wünsche anpassen können. Exemplarisch werde ich ein App-Projekt hinzufügen, ein anderes entfernen sowie die Startanimation austauschen.

Hinzufügen und Entfernen von Apps

Ich werde die E-Mail-App K-9 Mail hinzufügen und den CM-eigenen Video Editor entfernen.

  1. Legen Sie ein Projektverzeichnis für die neu zu integrierende App an:
    mkdir ~/android/projects
    mkdir ~/android/projects/k9mail
  2. Besorgen Sie sich die apk-Datei von K-9 Mail und legen Sie sie im neu erzeugten Verzeichnis ab. Sie können die Datei z.B. aus dem Ordner /data/app eines Smartphones herauskopieren, auf dem die App installiert wurde.
  3. Erzeugen Sie eine Make-Datei für den Build-Prozess:
    nano ~/android/projects/k9mail/Android.mk
  4. In diese Make-Datei tragen Sie den folgenden Inhalt ein:
  5. Legen Sie ein lokales Git-Repository an:
    cd ~/android/projects/k9mail
    git init
    git add .
    sudo git commit
  6. Erstellen Sie eine Konfigurationsdatei mit einem beliebigen Dateinamen und der Endung .xml (zum Beispiel custom.xml):
    nano ~/android/system/.repo/local_manifests/custom.xml
  7. In diese Datei werden die neu hinzuzufügenden und die zu entfernenden Apps eingetragen:

    Ersetzen Sie hierbei (username) durch Ihren eigenen Wert. Auf diese Weise berücksichtigt repo die App bei der Synchronisierung. Namen existierender Apps sind in ~/android/system/.repo/manifest.xml hinterlegt und können dort nachgeschlagen werden.
  8. Sofern noch eine apk-Datei der Video-Editor-App aus einem früheren Build existiert, löschen Sie diese:
    rm ~/android/system/out/target/product/i9300/system/app/VideoEditor.apk
  9. Um ganz sicherzugehen, dass keine Reste einer vorherigen Version zurückbleiben, können Sie auch das komplette Ausgabeverzeichnis löschen:
    cd ~/android/system
    make clean
  10. Synchronisieren Sie erneut, um die Anpassungen zu übernehmen:
    repo sync
  11. Damit die Make-Datei beim Erstellungsprozess berücksichtigt wird, müssen Sie noch die Standard-Konfigurationsdatei common.mk öffnen…
    nano ~/android/system/device/samsung/smdk4412-common/common.mk
    … und folgende Zeile hinter einem der vorhandenen PRODUCT_PACKAGES-Einträge einfügen:
    PRODUCT_PACKAGES += K9Mail
  12. Nach erneuter Erstellung (brunch i9300) werden Ihre Änderungen in das Installationspaket übernommen.

Austausch der Startanimation

Um dem Gerät ein eigenes Aussehen zu verleihen, soll die Startanimation ausgetauscht werden. Die ausgelieferte Animation besteht aus zwei Sequenzen zu je 48 Bildern sowie einer Konfigurationsdatei desc.txt, in der die Bildgröße, die Anzahl der Bilder pro Sequenz und die Anzahl der Wiederholungen jeder Sequenz eingetragen ist (Bild 2-1). Schauen Sie sich zum Vergleich die vorhandene Animation in /system/media/bootanimation.zip auf dem Gerät an.

Konfiguration der Startanimation in der Datei desc.txt
Bild 2-1

Zum Austausch gehen Sie wie folgt vor:

  1. Legen Sie ein Projektverzeichnis für die neue Startanimation an:
    mkdir ~/android/projects/bootanimation
  2. Erstellen Sie die Grafikdateien und legen Sie jede Sequenz in einen Unterordner, wie in der vorhandenen bootanimation.zip zu sehen. Erstellen Sie außerdem die desc.txt-Datei und tragen Sie die passende Konfiguration ein.
  3. Verpacken Sie alles in eine unkomprimierte ZIP-Datei namens bootanimation.zip und legen Sie sie im Projektverzeichnis ab.
  4. Da hier nur eine einzelne ZIP-Datei an den richtigen Ort kopiert werden muss, benötigen Sie keine Make-Datei und auch keine Synchronisierung per Git-Repository. Stattdessen soll die Datei direkt aus dem Projektverzeichnis an den Zielort kopiert werden. Dazu öffnen Sie common.mk
    nano ~/android/system/device/samsung/smdk4412-common/common.mk
    …und fügen den folgenden Eintrag hinter einem der vorhandenen PRODUCT_COPY_FILES-Einträge hinzu:
    PRODUCT_COPY_FILES +=
    ~/android/projects/bootanimation/bootanimation.zip:system/media/bootanimation.zip
    Damit wird die Standard-Startanimation bei Erstellung des Installationspakets mit Ihrer eigenen Animation überschrieben.

Fazit

Eigene Android- und CyanogenMod-Varianten lassen sich mit etwas Übung aus dem Quellcode erzeugen. Dabei ist der Austausch von Apps und der Startanimation erst der Anfang. Sie können eigene Projekte über Eclipse einbinden oder sogar den originalen Android-Quellcode verändern. Im Hinblick auf ein besonders sicheres Android haben Sie dann sogar die Möglichkeit, bekannt gewordene Sicherheitslecks selbst zu schließen, bevor Google eine Lösung liefert.

Artikelreihe "Erstellen Sie Ihre eigene Android-Variante"

Erstellen Sie Ihre eigene Android-Variante – Aufbau der Entwicklungsumgebung (Android und CyanogenMod im Eigenbau, Teil 1)
Erstellen Sie Ihre eigene Android-Variante – Anpassung des Installationspakets (Android und CyanogenMod im Eigenbau, Teil 2)

Weitere Links

Oracle VM VirtualBox
Kubuntu
Android SDK

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.