Android und CyanogenMod im Eigenbau - Teil 2

Erstellen Sie Ihre eigene Android-Variante – Anpassung des Installationspakets

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.

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.

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.

Legen Sie ein Projektverzeichnis für die neu zu integrierende App an:

mkdir ~/android/projects
mkdir ~/android/projects/k9mail

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.

Erzeugen Sie eine Make-Datei für den Build-Prozess:

nano ~/android/projects/k9mail/Android.mk

In diese Make-Datei tragen Sie den folgenden Inhalt ein:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := K9Mail
LOCAL_SRC_FILES := com.fsck.k9-1.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_MODULE_TAGS := optional
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)

Legen Sie ein lokales Git-Repository an:

cd ~/android/projects/k9mail
git init
git add .
sudo git commit

Erstellen Sie eine Konfigurationsdatei mit einem beliebigen Dateinamen und der Endung .xml (zum Beispiel custom.xml):

nano ~/android/system/.repo/local_manifests/custom.xml

In diese Datei werden die neu hinzuzufügenden und die zu entfernenden Apps eingetragen:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
 <remove-project name="CyanogenMod/android_packages_apps_VideoEditor" /> <remote name="k9mail" fetch="file:///home/(username)/android/projects/" />
 <project path="external/k9mail" name="k9mail" remote="k9mail"
revision="master" />
</manifest>

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.

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

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

Synchronisieren Sie erneut, um die Anpassungen zu übernehmen:

repo sync

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

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.

Abb.: Bild 2-1

Zum Austausch gehen Sie wie folgt vor:

Legen Sie ein Projektverzeichnis für die neue Startanimation an:

mkdir ~/android/projects/bootanimation

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.

Verpacken Sie alles in eine unkomprimierte ZIP-Datei namens bootanimation.zip und legen Sie sie im Projektverzeichnis ab.

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"

Android und CyanogenMod im Eigenbau - Teil 1
Android und CyanogenMod im Eigenbau - Teil 2


Jetzt teilen:

Kommentare

Einen Kommentar schreiben

Bitte rechnen Sie 7 plus 8.

Wir verarbeiten Ihre personenbezogenen Daten, soweit es für die Bereitstellung des Kommentars sowie zur Sicherstellung der Integrität unserer informationstechnischen Systeme erforderlich ist. Sie sind zur Bereitstellung dieser Daten nicht verpflichtet, eine Nutzung der Kommentarfunktion ist ohne die Bereitstellung jedoch nicht möglich. Weitere Hinweise zum Datenschutz finden Sie in der Datenschutzerklärung.