Lineageos kompilieren & anpassen: Unterschied zwischen den Versionen

Aus 4-it
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Unter Systemen mit Standard-Python-Binary > 2.7 muss für die Konsolensession python2.7 aktiviert werden.
[[Kategorie:Android]]


Einfach funktioniert dies mit einem bin-Ordner in der Androidentwicklungumgebung:
Lineageos-Änderungen: tbd


<code>
<h1>Vorbereitungen</h1>


cd ~/android_devel
Unter Systemen mit Standard-Python-Binary > 2.7 muss für die Konsolensession python2.7 aktiviert werden.


mkdir bin
Einfach funktioniert dies mit einem bin-Ordner in der Androidentwicklungsumgebung:


cd bin
<code>


ln -s /usr/bin/python2.7 python
  cd ~/android_devel
 
  mkdir bin
export PATH="~/android_devel/bin:${PATH}"
  cd bin
  ln -s /usr/bin/python2.7 python
  export PATH="~/android_devel/bin:${PATH}"


</code>
</code>
Zeile 21: Zeile 23:


<code>
<code>
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/android_devel/bin/repo
  curl https://storage.googleapis.com/git-repo-downloads/repo > ~/android_devel/bin/repo
</code>
</code>


Zeile 29: Zeile 31:


<code>
<code>
repo selfupdate  
  repo selfupdate  
</code>
</code>


Zeile 38: Zeile 40:


<code>
<code>
mkdir ~/andoid_devel/CM
  mkdir ~/andoid_devel/CM
  cd ~/andoid_devel/CM
  repo init -u git://github.com/LineageOS/android.git -b cm-14.1
  repo sync
 
</code>
 
Die Informationen finden sich gerätespezifisch auf den Wiki-Seiten von cyanogenmod.org (bspw. http://wiki.cyanogenmod.org/w/Build_for_pollux_windy)
 
 
Die Doku hier wird den Kompilierprozess nur oberflächlich behandeln, Primär wird hier die Struktur und Anpassung der Sourcen beschrieben, da dies in den wikis eher oberflächlich behandelt wird.
 
<h1>Wo ist was? - Strukturen & Aufbau der CM-Quellen</h1>
 
MK-Dateien:
Die Sourcen werden über die *.mk-Dateien aufgebaut. Fügt man in der Hierarchie Daten hinzu oder entfernt man diese, so können Funktionen entfernt/hinzugefügt werden. Dies gilt für zu kompilierende Quellen und auch für binary-Daten (prebuilds).
 
Die Standard-MKs für Cyanogenmod ohne Herstellerspezifische Pakete finden sich unter:


cd ~/andoid_devel/CM
build/target/produkt/


repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0


repo sync
App-Sourcen:


</code>
packages/apps
 
Eigene Quellen lassen sich mit lokalen Manifestdateien hinzufügen, dadurch werden diese bei "repo sync" ebenfalls immer auf updates überprüft:
 
Beispiel:


Die Informationen finden sich gerätespezifisch auf den Wiki-Seiten von cyanogenmod.org (bspw. http://wiki.cyanogenmod.org/w/Build_for_pollux_windy)
.repo/local_manifests/additional_apps.xml
<code>


  <?xml version="1.0" encoding="UTF-8"?>
  <manifest>
    <project name="k9mail/k-9" path="packages/apps/K9" remote="github" revision="master" />
    <project name="irssiconnectbot/irssiconnectbot" path="packages/apps/IRSSICOnnectbot" remote="github" revision="master" />
  </manifest>


Die Doku hier wird den Kompilierprozess nur oberflächlich behandeln, Primär wird hier die Struktur und Anpassung der Sourcen beschrieben, da dies in den wikis eher oberflächlich behandelt wird.
</code>

Aktuelle Version vom 8. Januar 2017, 17:05 Uhr


Lineageos-Änderungen: tbd

Vorbereitungen

Unter Systemen mit Standard-Python-Binary > 2.7 muss für die Konsolensession python2.7 aktiviert werden.

Einfach funktioniert dies mit einem bin-Ordner in der Androidentwicklungsumgebung:

 cd ~/android_devel
 mkdir bin
 cd bin
 ln -s /usr/bin/python2.7 python
 export PATH="~/android_devel/bin:${PATH}"


Die Android-Build-Tools werden über folgenden Link bezogen und beispielsweise in dem eben erstellten bin-Verzeichnis hinterlegt:

 curl https://storage.googleapis.com/git-repo-downloads/repo > ~/android_devel/bin/repo

(info auf: http://source.android.com/source/initializing.html)

Mit

 repo selfupdate 

wird sichergestellt, dass die aktuellste Version verwendet wird


Cyanogenmod-Source initialisieren:

 mkdir ~/andoid_devel/CM
 cd ~/andoid_devel/CM
 repo init -u git://github.com/LineageOS/android.git -b cm-14.1
 repo sync

Die Informationen finden sich gerätespezifisch auf den Wiki-Seiten von cyanogenmod.org (bspw. http://wiki.cyanogenmod.org/w/Build_for_pollux_windy)


Die Doku hier wird den Kompilierprozess nur oberflächlich behandeln, Primär wird hier die Struktur und Anpassung der Sourcen beschrieben, da dies in den wikis eher oberflächlich behandelt wird.

Wo ist was? - Strukturen & Aufbau der CM-Quellen

MK-Dateien: Die Sourcen werden über die *.mk-Dateien aufgebaut. Fügt man in der Hierarchie Daten hinzu oder entfernt man diese, so können Funktionen entfernt/hinzugefügt werden. Dies gilt für zu kompilierende Quellen und auch für binary-Daten (prebuilds).

Die Standard-MKs für Cyanogenmod ohne Herstellerspezifische Pakete finden sich unter:

build/target/produkt/


App-Sourcen:

packages/apps

Eigene Quellen lassen sich mit lokalen Manifestdateien hinzufügen, dadurch werden diese bei "repo sync" ebenfalls immer auf updates überprüft:

Beispiel:

.repo/local_manifests/additional_apps.xml

 <?xml version="1.0" encoding="UTF-8"?>
 <manifest>
   <project name="k9mail/k-9" path="packages/apps/K9" remote="github" revision="master" />
   <project name="irssiconnectbot/irssiconnectbot" path="packages/apps/IRSSICOnnectbot" remote="github" revision="master" />
 </manifest>