repo sync - Problem

  • 8 Antworten
  • Neuester Beitrag
Diskutiere repo sync - Problem im Android OS Entwicklung / Customize im Bereich Android App Entwicklung.
P

P_E_T_E_R

Neues Mitglied
Hallo Gemeinde!

Ich wollte den "android-4.0.1_r1" Android Code runterladen und bin der android.com Anleitung (http://source.android.com/source/downloading.html) gefolgt.
Nach dem Ausführen des "repo sync" Befehls wurde der Code, so wie es aussieht runtergeladen. Allerdings versuchte sich im Anschluss "repo" upzudaten, was wohl auch gelang. Doch danach wurde Repo neugestartet und hängte sich nach ein paar Sekunden auf.

Hier ist die Kopie der letzten Terminal Ausgaben:

////////////////////////////////// BEGIN ////////////////////////////////////////////
...
* [new tag] android-1.6_r1.1 -> android-1.6_r1.1
* [new tag] android-1.6_r1 -> android-1.6_r1
remote: Counting objects: 1, done
remote: Finding sources: 100% (1/1)
remote: Total 1 (delta 0), reused 1 (delta 0)
Unpacking objects: 100% (1/1), done.
From https://android.googlesource.com//platform/prebuilt
* [new branch] ics-factoryrom-2-release -> aosp/ics-factoryrom-2-release
* [new branch] ics-mr0 -> aosp/ics-mr0
* [new tag] android-4.0.1_r1 -> android-4.0.1_r1
Fetching projects: 100% (221/221), done.
info: A new version of repo is available

project .repo/repo/
Updating ceea368..9d8f914
Fast-forward
manifest_xml.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

info: Restarting repo with latest version
Fetching projects: 99% (220/222)
////////////////////////////////// ENDE /////////////////////////////////////////////

Bei "Fetching projects: 99% (220/222) " hängts dann. Hab mind. 2 Stunden gewartet.

In meinem "working directory" liegt leider nix - Hab also keinen brauchbaren Code. Im ".repo/projects" Ordner müssten eigentlich alle Daten liegen, oder? Kann man die Daten irgendwie nutzen? Der Download scheint ja ansich komplett zu sein.
Ich frage, bevor ich wieder Stundenlang runterladen muss, denn es kommt bei mir irgendwie extrem oft vor, dass der sich Download nach Stunden so ähnlich ohne Fehlermeldung einfach aufhängt.
Ich arbeite mit Ubuntu 11.10.

Grüße Peter
 
domistiller

domistiller

Neues Mitglied
Also zu dem 2 Stunden warten kann ich nichts sagen, aber die Dateien müssten in dem Verzeichnis liegen, in dem du repo sync ausführst
 
FelixL

FelixL

Ehrenmitglied
Verzeichnis runterschmeißen, neu versuchen, und zwar ganz von vorne. Auch wenns dauert ;)
 
P

P_E_T_E_R

Neues Mitglied
Danke für eure Antworten!

@ FelixL
Jep! ;)
Hab in der VM ein Ubuntu 10.04 64 Bit LTS Image aufgesetzt und "Oh, Wunder" es klappte plötzlich alles inkl. "make".

Momentan kämpfe ich nur etwas mit Eclipse. Es meint nach dem Start den Build abbrechen zu müssen, weil es eine ".java" Datei nicht lesen konnte. Komischerweise ist es nach einem restart immer eine andere.
 
P

P_E_T_E_R

Neues Mitglied
Nächste Frage:

Ich habe, wie oben beschrieben, "android-4.0.1_r1" runtergeladen und mit "make" complied.

Jetzt würde ich ganze gerne im Emulator starten. Dazu brauche ich diverse ".img" Dateien.
Die, die ich in meinem Android-root Ordner gefunden habe, sind:
- ramdisk.img
- userdata.img
und
- sdcard.img, die ich mir selbst gebastelt hab.

Es fehlt doch noch mindestens eine system.img, oder?

Das meldet mir auf jeden fall der Emulator Befehl:
-----------------------------------------------------------------------------
peter@ubuntu:~/Android_Src$ ./out/host/linux-x86/bin/emulator \
> -sysdir out/target/product/generic \
> -kernel prebuilt/android-arm/kernel/kernel-qemu \
> -data out/target/product/generic/userdata.img \
> -sdcard out/target/product/generic/sdcard.img
emulator: ERROR: Your system directory is missing the 'system.img' image file.
Please specify one with the '-image <filepath>' option
-----------------------------------------------------------------------------

Wie bekomme ich die system.img hin? ich dachte make Befehl, serviert mir alle Bausteine. Brauche ich noch andere ".img" Dateien, bzw. sonstige Bausteine?
 
FelixL

FelixL

Ehrenmitglied
Eigentlich sollte der Befehl "emulator" im root-Verzeichnis reichen... schmeißt er da auch den Fehler?
 
P

P_E_T_E_R

Neues Mitglied
Im Android-root kann er emulator nicht finden. ich muss explizit den Pfad angeben:
./out/host/linux-x86/bin/emulator
Laut Anleitung von Google sollte make eigentlich die Pfade setzen. Wurde aber nicht gemacht.
 
P

P_E_T_E_R

Neues Mitglied
So, hab eine system.img selbst erstellen können:

-------------------------------------------------------------------------------
peter@ubuntu:~/Android_Src$ out/host/linux-x86/bin/genext2fs -d out/target/product/generic/system -b 150000 -a system.ext2

cd /mnt/
mkdir system

sudo mount -o loop system.ext2 /mnt/system
mkfs.cramfs /mnt/system system.img
-------------------------------------------------------------------------------

Den emulator gestartet:

-------------------------------------------------------------------------------
cd ~/Android_Src
./out/host/linux-x86/bin/emulator -system out/target/product/generic -kernel prebuilt/android-arm/kernel/kernel-qemu

./out/host/linux-x86/bin/emulator \
-sysdir out/target/product/generic \
-kernel prebuilt/android-arm/kernel/kernel-qemu \
-data out/target/product/generic/userdata.img \
-sdcard out/target/product/generic/sdcard.img
-------------------------------------------------------------------------------

Er öffnet sich, es tut sich aber nix.
 
P

P_E_T_E_R

Neues Mitglied
Habs geschafft!

Habe make mit Parameter -j2 (und auch mal 3) gestartet und dann wurde eine system.img erstellt.
Hab emulator ohne zusätzliche Parameter gestartet und klappte es!

Der Fehler war wohl, dass ich das make -jx nicht der VM gerecht angepasst habe und die Kompilierung schlicht und einfach nicht sauber durchgelaufen ist.

Hab bei der VM Konfiguration einen Prozessor angegeben, entsprechend muss man bei make -jx das x = 2 oder 3 wählen, 4 ist da zu viel.

Hoffe, dass mein "Log" hier anderen weiterhelfen kann, wenn diejenigen in einer ähnlichen Situation stecken.