[How-to] Build Cynanogen from Source

  • 62 Antworten
  • Letztes Antwortdatum
Hm Thek, hast du mal selbst was am Code geändert bzw. vielleicht den Code schon in Eclipse eingearbeitet? Ich hatte das mal bei nem CR fürs Hero und wollte ein paar Sachen verbessern, z.B. das Speichern des Thumbnails bei Beenden einer App aktivieren, das schon lange (ich glaube seit 1.0 :D) im Code schlummert und in Honeycomb genutzt wird. Inzwischen ist der Anreiz nicht mehr so groß, wer weiß wie lange es noch dauert bis Icecream rauskommt und das aktiviert hat, aber trotzdem, falls du Zeit hast und sowas schon mal gemacht hast oder ausprobieren willst, ich hab den nötigen Code noch, man müsste eben nur einmal in Eclipse schauen ob das Fehler anzeigt.
 
Hab mal wieder die neuste Version geuuped LINK

Nichts wirklich neues fürs Blade. Siehe Changelog

@FelixL da Icecream erst im Sommer kommt (angeblich), würd ich deinen Code gerne mal sehen.

lg
Thek
 
Thektorium schrieb:
@FelixL da Icecream erst im Sommer kommt (angeblich), würd ich deinen Code gerne mal sehen.

Am Diestag startet die Google I/O (Entwicklerkonferenz von Google), dann werden wir sicher Neuigkeiten zu Android gezeigt bekommen.

FelixL schrieb:

Ich bin endlich mal dazu gekommen es auszuprobieren, es läuft super durch und installiert/kompilliert (auch Android SDK/adb mit udev Regeln) alles automatisch. Es macht eigentlich genau das gleiche wie diese Anleitung hier, nur eben automatisch (man muss naturlich noch einige Fragen beantworten, aber keine Befehle eingeben).
Das ganze wird übrigends ziemlich groß (wer schonmal den Chromium Quelltext runterladen wollte wird nichts anderes erwarten ....), das SDK ist 2,3 GB schwer und der Android/CM Quelltext bring nochmal 12 GB auf die Waage.
 
  • Danke
Reaktionen: Thektorium und FelixL
Das ganze wird übrigends ziemlich groß (wer schonmal den Chromium Quelltext runterladen wollte wird nichts anderes erwarten ....), das SDK ist 2,3 GB schwer und der Android/CM Quelltext bring nochmal 12 GB auf die Waage.

Wofür gibts das Uni-WLAN? ;)
Beim letzten mal hat das bei mir 40 Minuten gedauert :p

Ich wusste auch gar nicht das Dienstag schon wieder IO ist, sehr gut, danke :)


@Thek: wenn du es trotzdem mal probieren willst, hier ist der afaik aktuellste Code. Hab leider vor nem Monat meinen Rechner formatiert...bei der 4. Ubuntu-Installation parallel zu Windows. Warum nimmt das Teil auch die ganze Festplatte wenn man auf "Ganze Partition" drückt? :D

https://www.android-hilfe.de/forum/...activity-erstellen-und-abspeichern.47135.html

Wie es in Post 1 steht den ersten Codeblock direkt in der Datei core/java/android/app/ActivityThread.java die Funktion performStopActivityInner() eingefügen, direkt hinter //info.thumbnail = createThumbnailBitmap(r);

Code:
Bitmap bigThumbnail = createBigThumbnailBitmap(r);
                	if (bigThumbnail != null){
                		try {
                			   FileOutputStream fos= r.activity.openFileOutput("applicationThumbnail.jpg",
                			      Context.MODE_WORLD_READABLE);

                			   bigThumbnail.compress(Bitmap.CompressFormat.PNG, 90, fos);

                			   fos.flush();
                			   fos.close();
                			   } catch (Exception e) {
                			   Log.e("BigThumbnailAddon", e.toString());
                			}
                	}

Den zweiten Teil irgendwo außerhalb der anderen Funktionen, z.B. oberhalb der ursprünglichen private final Bitmap createThumbnailBitmap(ActivityRecord r) {.
Wenn du mal programmiert hast oder so solltest du erkennen was ich meine ;)
Der Code ist im Link in Post 6, oder auch hier:

Code:
    private int mBigThumbnailWidth = -1;
    private int mBigThumbnailHeight = -1;

private final Bitmap createBigThumbnailBitmap(ActivityRecord r) {
        Bitmap bigThumbnail = null;
        try {
            int w = mBigThumbnailWidth;
            int h;
            Resources res = r.activity.getResources();
            if (w < 0) {
                mBigThumbnailHeight = h =
                    res.getDimensionPixelSize(com.android.internal.R.dimen.big_thumbnail_height);

                mBigThumbnailWidth = w =
                    res.getDimensionPixelSize(com.android.internal.R.dimen.big_thumbnail_width);
            } else {
                h = mBigThumbnailHeight;
            }
            //Swap values depending on orientation:
            if (res.getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){
            	int tmpSwap = h;
            	h = w;
            	w = tmpSwap;
            }
            // XXX Only set hasAlpha if needed?
            bigThumbnail = Bitmap.createBitmap(w, h, Bitmap.Config.RGB_565);
            bigThumbnail.eraseColor(0);
            Canvas cv = new Canvas(bigThumbnail);
            if (!r.activity.onCreateThumbnail(bigThumbnail, cv)) {
            	bigThumbnail = null;
            }
        } catch (Exception e) {
            if (!mInstrumentation.onException(r.activity, e)) {
                throw new RuntimeException(
                        "Unable to create bigThumbnail of "
                        + r.intent.getComponent().toShortString()
                        + ": " + e.toString(), e);
            }
            bigThumbnail = null;
        }

        return bigThumbnail;
    }

Das vielleicht größte Problem ist das hier:
Ich will in values.xml in der framework.res zwei weitere Werte hinzufügen.
Dort gibt es schon
thumbnail_width und thumbnail_height
ich will
big_thumbnail_width und big_thumbnail_height
Das ganze muss von Eclipse aus überprüft werden, das erledigt noch irgendwas damit die ActivityThread.java drauf zugreifen kann. Wenn du das nicht willst kannst du auch die entsprechenden Zeilen oben auf =400 bzw =840 ändern. Von eclipse aus kann man eben aber auch gleich Fehler ausschließen.

Wenn du darauf keine Lust hast kann ich es verstehen, ich lade morgen auch sowieso 11.04 runter und installiere das über mein altes zerschossenes Ubuntu, und probiere das dann Dienstag selbst. Es sei denn du meldest Erfolg ;)

Ansonsten ist zu dem Code zu sagen das ich ihn erfolgreich im Emulator getestet hatte (damals, im September), aber nie auf meinem Hero zum laufen gebracht habe weil ich nicht die Zeit hatte.
Den Rest der Diskussion dazu können wir vielleicht im oben verlinkten Thread füren, damit wir hier nicht alles vollspammen?!?


Edit: Und vielleicht sollte man bei Gelegenheit zwei Log-Zeilen zur Performance-Messung einfügen. Würde mich schon interessieren wieviele ms das Handy damit beschäftigt ist ;)
 
  • Danke
Reaktionen: Thektorium
N63:

- Beim mir schaltet sich das W-Lan nicht im Sleep ab dafür verbindet er kurz neu wenn man das Telefon wieder anschaltet.

- Komischerweise kam irgendwann mal eine Benachrichtigung und die LED leuchtet seit dem durchgängig rot. Nur Neustart hilft da.

- Nach einem Neustart habe ich auch ab und an ein paar Touchscreen-Freezes für ca. 1 Minute.

- Wireless Tethering funktioniert auch nicht richtig. Wenn das Telefon in den Sleep geht findet man den AP nicht mehr. Komisch, zumal wlan ja scheinbar im sleep an bleibt.

- Ich finde auch die Menüs (Einstellungen usw.) nicht so schön flüssig. Bei Froyo kamen es mir wie 30 FPS vor jetzt nur noch 15. Launcherpro hab eich installiert und der Appdrawer und Homescreen laufen sehr flüssig. ADV EX macht doch nicht auch die Menüs flüssiger, oder?

Ist das bei deinem Build anders, Thektorium?

Danke vielmals!
 
Zuletzt bearbeitet:
Ich lade den Code übrigens gerade mit dem Skript runter. Eben noch mit 2MB, jetzt mit 50 KB O.o
Kann man das Skript abwürgen und einfach nochmal draufdrücken?


Edit: Hat sich erledigt, wa nur irgendwas mit 3D von LGE, wohl ein lahmer Server.

Edit2:
repo init hat erst beim zehnten mal funktioniert O.o
Dann lief es wie es soll in ein paar Sekunden durch.

Edit3: Ist am compilieren, das Blade wurde einmal G_Tablet genannt, aber das ist nur ein Schreibfehler in der Ausgabe, die UDEV-Einstellungen werden trotzdem richtig gemacht.


Edit4: Bevor ihr das Skript benutzt das System auf Englisch stellen, 2 mal rebooten, zwischendurch das Ändern der Ordnernamen bestätigen. Das Script arbeitet mit /Desktop, in Deutschland nennt sich das /Arbeitsfläche...
Der Ordner Arbeitsfläche blleibt erhalten.
Ist aber nicht zwingend nötig, ihr könnt auch das Skript ändern oder diesen Teil weglassen.

Weiß jemand warum "emulator" nicht funktioniert?

emulator: command not found


Edit5:
:/ Blöd, man muss natürlich für den Emulator das System extra kompilieren -.-
Blöd wenn man den Java-Kram nur schnell testen will.
 
Zuletzt bearbeitet:
Jetzt reicht es mit der Editiererei, ein neuer Post muss her ;)

a)
Skript ausführen +
Code:
cd ~/android/system
. build/envsetup.sh 
lunch 1    
make       
emulator

funktioniert.

b)
Bin gerade dabei meine Änderungen zu kompilieren, mal schauen was passiert :)
 
  • Danke
Reaktionen: Thektorium
Bei mir geht schon seit 2 tagen kein Update mehr:
bekomme bei:
Code:
repo sync

immer:

Code:
fatal: The remote end hung up unexpectedly
error: Cannot fetch device/sample

naja warsch ein server down oder so

lg
Thek
 
Bei mir läuft alles, auch mein Update mit dem Code auf meinem Blade :)
Jetzt brauch ich nur noch ne kleine App die die Bilder anzeigt, und fertig.
 
nice FelixL :)

mitlerweile hat das Update auch hier funktioniert, und ich werd deinen Code am WE einbauen :)
btw. ist auser dem Beschriebenen hier und im "original" Beitrag iwas zu beachten?


mein akt. Build wird morgen geupped. (keine lust mehr)

lg
Thek
 
Ich stell den Code morgen früh in den anderen Thread, bin gerade ziemlich müde und kaputt. Hab aber schon ne kleine Testapp geschrieben, läuft einwandfrei. Und das an einem halben Tag :D

Noch ne kleine Anmerkung am Rande: Ubuntu 11.04 ist top. Bei der 10er hab ich immer die Aero-Snap-Funktionen vermisst, die 11er hat sie (geklaut) :)
Hab den ganzen Rag hier gearbeitet und Windows 7 komplett vergessen :D
 
Hey Hey..

Neuer Build ist online !

Code:
5a35c6834fb11384af7f1ba517890eaa  update-cm-7.1.0-RC0-Blade-KANG-signed.zip

Code ist vom 11.5.2011 um ca. 18:15

Changelog

have fun with it :)

lg Thek
 
  • Danke
Reaktionen: rollator
Sind da die neuen Sensoren-Libs schon mit dabei?

Machst du immer einen Full wipe oder kommst auch mit 2x Cache hin?

Danke!
 
Zuletzt bearbeitet:
ach ich wipe nie zwischen cynanogen mods ;)

sensoren sollten funktionieren

lg
Thek
 
An alle die selber builden!

letzter Code from Source (13.5.11 14:18) funktioniert anscheinend NICHT am Blade!
Ich bekomme nur eine endlosschleife der Bootanimation.

meine Version die online ist funktioniert aber!


lg
Thek
 
Neuer Build!

LINK

Code:
35e25e068e668e331fb15f115002561d  update-cm-7.1.0-RC0-Blade-KANG-signed.zip

news: Sensoren funktionieren wieder perfekt. :)


lg
Thek
 
"Perfekt".
Tätige mal einen Anruf.
Beim ersten mal funktioniert der Proximity-Sensor noch. Beim 2. mal ans Ohr halten bleibt das Display an.
 
Hm, meine Version bootet nicht mehr, hab nichts geändert, nur gesynct. -.-
 
@goseph .. funktioniert bei mir ohne probleme. :/

@FelixL… hatte dieses Problem bei einem älteren build einmal.. was passiert wenn dus ohne wipes neu flashed?



lg
Thek
 

Ähnliche Themen

C
Antworten
135
Aufrufe
36.067
Bautzener
B
XMasterNinni
  • Angepinnt
  • XMasterNinni
2
Antworten
33
Aufrufe
9.196
Smart-T
S
XMasterNinni
Antworten
4
Aufrufe
1.828
FelixL
FelixL
Zurück
Oben Unten