Mit was testen/ausprobieren?

Beschäftige mich zur Zeit ein wenig mit Android.

Zum Entwickeln nutze ich das Android Studio. Das ist soweit ganz ok. Allerdings habe ich so meine Probleme, wenn ich die Programme dann laufen lasse.

Ich hab schon mehrere Sachen probiert.

  1. Einmal den Android Virtual Device Emulator.
  2. Dann ein Android 4.3 x86 in VirtualBox.
  3. Sowie ein Device im Debug Mode.

1 kommt mir recht lahm träge zäh vor. Einige Quellen meinen, dass dies daran liege, dass ein ARM-Prozessor emuliert wird. Die Boot-Zeit ist erbärmlich. Java Programme haben ja schon einen kleinen Lag im Gegensatz zu einem Binary, aber die Boot-Zeit die beim Starten des Androiden dazukommt ist nicht schön.

2 das VirtaualBox Image läuft gefühlt flüssiger. Booten kann man sich weitgehend sparen, wenn man Snapshots hat. Der Installationsprozess benötigt allerdings seine Zeit. Außerdem ist die Mausintegration etwas Gewöhnungsbedürftig.

3 läuft ist aber nur Android 2.3 und auch nicht immer verfügbar.

Dazu kommt das 1 + 2 einen ziemlichen Memory-Footprint mitbringen.

Das sorgt dafür dass mein Rechner (4 GB Ram) anfängt zu Swappen, den Rest kann man sich ja denken wie sich dass dann anfühlt.

Intellij AS + VirtualBox + Gradle zum Bauen + Firefox + 500MB für sonstiges sorgen dafür dass ich so knapp an der 4 GB Grenze kratze.

Wenn dann auf Run geklickt wird springt Gradle an und hat dann gefühlt nicht genug Memory und swappt dann während dem Bauen, was zu gefühlt unterirdischen Buildzeiten führt.

Aber nun zu meinen Fragen. Wie macht ihr das? Welches Toolchain verwendet ihr? Wieviel Memory ist empfehlenswert? Laßt ihr Gradle bauen beim klick auf run oder nutzt ihr ein Build Automatically?
Welche dieser 3 Varianten nutzt ihr? Habt ihr sonstige Tipps?

RICHTIG ODER FALSCH?

Einen wirklich konkreten Tipp habe ich nicht, aber es ist ja ein bekanntes Problem (Websuchen liefern recht schnell sowas wie https://www.virag.si/2012/10/speeding-up-android-emulator/ usw). Es ist ein bißchen eine Gratwanderung: Wenn es wirklich nur GANZ frühe/wenige Tests sind, quält man sich halt mal mit dem langsamen Emulator … aber wenn’s ernster wird, muss man sich schon überlegen, ob man sich nicht einfach das erstbilligste Android-Gerät zulegt, das man in die Finger bekommt…

[quote=Unregistriert]1. Einmal den Android Virtual Device Emulator.[/quote]+
Wie marco13 schon schrieb, ist wirklich nur für simple GUI Apps geeignet. Zumal der Emulator bei mir nicht immer startet. Wenn allerdings die native GraKa verwendet wird, dann sind die Grafikeffekte schneller und somit fühlt sich der Emulator auch gleich doppelt so schnell an.

Ich bin gerade am runter laden, evt. reicht mir das ja schon für meine Apps

das einzig Sinnvolle, allerdings nervt mich dann die ganze Kabelei :twisted:

wenn man Entwickelt (egal wofür) sind 4GB inzwischen recht wenig (imo)

vieleicht habe ich ja wirklich nur schlechte Geräte gehabt, aber die waren auch nicht beser als der emulator :smiley:

*** Edit ***

ich habe mal gerade Android x86 installiert und ausprobiert. Läuft viel flüssiger als der Emulator und reicht mir persönlich für mein Projekt (simple GUI). Auf Youtube konnte ich mir sogar einen Film anschauen. Audio war nur nicht so berauschend, aber ist mir (erstmal) nicht so wichtig. Werde wohl eher mit VM programmieren :slight_smile:

Tipps zu Emulatoren kann ich leider keine geben, da die bei mir in den seltesten Fällen zum Einsatz kommen. Als es das letzte mal der Fall war, habe ich auch einiges recherchiert und dabei schaute ich mir eher verschiedene Umsetzungen an. Eine Liste davon kannst du in unserem Wiki finden: http://wiki.byte-welt.net/wiki/Emulatoren

Auf den Speicherverbrauch habe ich nicht geachtet, aber vllt wäre BlueStacks ja was für dich

Bei Android gibt’s doch auch die Möglichkeit per Wlan zu debuggen :wink:

das habe ich gestern auch gemerkt, als ich mich frage „wie kann ich jetzt in der Vm debuggen?“ adb connect IP:5555 :slight_smile:

Also ich persönlich benutze den Android-Emulator der bei den Android-Tools bei Eclipse dabei ist.ich finde den auch nicht so langsam,könnte aber auch sein weil ich 64 Gb RAM +starke CPU habe

Gesendet von meinem iPod touch mit Tapatalk

Ich habe 8GB RAM mit einer Quad-Core-CPU 3,4 GHz. Ein einfaches “Hello World” zu starten dauert da 120s (!) Ist das normal?
In einer VM geht das in 10s.

War der Emulator schon einsatzbereit oder hattest noch einen komplettem Bootvorgang?

Mit booten.

Lectron also ich habe 3,5 GHz und bei mir brauchst es mit Bootvorgang soo 90s.

[QUOTE=L-ectron-X]Ich habe 8GB RAM mit einer Quad-Core-CPU 3,4 GHz. Ein einfaches “Hello World” zu starten dauert da 120s (!) Ist das normal?
In einer VM geht das in 10s.[/QUOTE]
Ist normal.

Eine “normale” VM muss nicht eine andere CPU Architektur komplett in SW emulieren.

Verstehe. Danke!

[QUOTE=maki]
Eine “normale” VM muss nicht eine andere CPU Architektur komplett in SW emulieren.[/QUOTE]

Öhm. Nicht? Was macht sie denn dann?

VirtuialBox, VMWare etc. nuzten alle HW Erweiterungen des Prozessors und bieten eben nur i386 Architekturen, mit „Para-Virtualisierung“ wie bei Xen etc. wird sogar die echte CPU genutzt, so ganz ohne Virtualisierung.

Eine ARM Architektur auf einem i386 nachzustellen ist schon etwas anderes :wink:

Bin sowieso ueberrascht dass so „schnell“ geht wenn das booten mal vorbei ist… booten dauert u.U. Minuten… so wie in den 90’er Jahren :smiley: