2013-05-12 11 views
6

Meine Firma macht eine Menge Android-Entwicklung und wir sind durch die langen kompilieren, Dex, Paket, Bereitstellung Zyklen behindert. Angesichts des aktuellen Stands der Dalvik-VM und der Tools ist es möglich, so etwas wie JRebel für Android zu erstellen?Implementieren Hot-Code-Swap für Dalvik

+0

1) Lang definieren. 2) Was machst du jetzt? (d. h. Eclipse/Maven/Gradle What?) –

+0

Ich benutze Eclipse, aber es gibt 15-30 Sekunden Verzögerung jedes Mal, wenn Sie das Projekt erstellen, um Änderungen zu sehen, die trivial sein können (Layoutänderungen). Kann dynamisches Classloading wie in JRebel oder [Play!] (Http://www.playframework.com/) genutzt werden, um Änderungen sofort sichtbar zu machen? –

+0

Ich bin auf Nein gelehnt, aber vielleicht wird mich jemand korrigieren. Wenn Sie auf Emulator/Gerät bereitstellen, dann ja, Sie haben etwas Verzögerung, wie es über adb geht. Ihr PC hat keinen direkten Zugriff auf die Dalvik VM. Denken Sie daran, dass Sie Cross-Compiling und Paketierung durchführen und keine Klassendateien auf einem lokalen Webserver bereitstellen. Wenn Sie nur das XML-Layout bearbeiten, können Sie versuchen, die Layout-Vorschau-Tools zu verwenden, um zu sehen, wie es aussehen wird. Wenn ich Codeänderungen mache, erwarte ich die erwähnte Verzögerung. –

Antwort

6

JRebel for Android ist jetzt in der Betaversion und Sie können sich jetzt für eine Einladung anmelden. Hoffentlich wird das was wir beide wollen.

2

Ich habe die JRebel for Android Beta-Zugriff nicht lange her. Und es funktioniert schon ziemlich schnell: es tooks ~ 20sec, um das Projekt nach Änderungen neu zu laden. 20 sec ist viel schneller als 2 min mit Gradle.

Es ist immer noch nicht Live-Codierung für Android, aber JRebel Team arbeitet hart an Optimierungen. Ich wette, dass stabile Version von JRebel for Android wird in der Nähe von Live-Codierung sein.

BTW, gibt es Alternativen für die JRebel for Android:

  1. Layout Cast - ziemlich instabil im Moment, und erfordert Android 5+
  2. Buck from Facebook. Ich habe es nicht selbst versucht, aber Benchmarks sagen, dass es schneller funktioniert als Gradle baut. Einen Versuch wert.
+0

protify ist stabil und extrem schnell, benötigt aber ein wenig Erfahrung (https://github.com/pfn/protify). – pfn

+0

Können Sie bitte in Sekundenschnelle "extrem schnell" definieren? Ich interessiere mich für "make-reload" Zeit. –

+1

Unter 1 Sekunde für eine triviale Hallo Welt. 10-20 Sekunden für eine große App mit 20MB Ressourcen, 100Kloc und 60 Bibliotheken – pfn