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
Antwort
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.
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
:
- Layout Cast - ziemlich instabil im Moment, und erfordert
Android 5+
- Buck from Facebook. Ich habe es nicht selbst versucht, aber Benchmarks sagen, dass es schneller funktioniert als
Gradle
baut. Einen Versuch wert.
protify ist stabil und extrem schnell, benötigt aber ein wenig Erfahrung (https://github.com/pfn/protify). – pfn
Können Sie bitte in Sekundenschnelle "extrem schnell" definieren? Ich interessiere mich für "make-reload" Zeit. –
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
1) Lang definieren. 2) Was machst du jetzt? (d. h. Eclipse/Maven/Gradle What?) –
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? –
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. –