La mia azienda esegue molto sviluppo su Android e siamo ostacolati dai lunghi cicli di compilazione, dex, pacchetto e implementazione. Dato lo stato attuale del Dalvik VM e strumenti, è possibile costruire qualcosa come JRebel per Android sarebbe possibile?Implementazione di Hot code swap per Dalvik
risposta
JRebel for Android è ora in versione beta e ora è possibile registrarsi per un invito. Speriamo che questo sia ciò che entrambi vogliamo.
Ho l'accesso beta JRebel for Android non molto tempo fa. E funziona già abbastanza velocemente: ci sono voluti ~ 20sec per fare ricaricare il progetto dopo le modifiche. 20 sec è molto più veloce di 2 min con Gradle
.
Non è ancora codificato in tempo reale per Android
, ma il team JRebel
lavora molto per ottimizzare. Scommetto che il rilascio stabile di JRebel for Android
sarà vicino alla codifica live.
Btw, non ci sono alternative per il JRebel for Android
:
- Layout Cast - abbastanza instabili in questo momento, e richiede
Android 5+
- Buck from Facebook. Non l'ho provato da solo, ma i benchmark dicono che funziona più velocemente delle build
Gradle
. Vale la pena provare.
è stabile ed estremamente veloce, ma richiede un po 'di esperienza di esecuzione (https://github.com/pfn/protify). – pfn
Potresti definire in secondi "estremamente veloce"? Mi interessa il tempo di "ricarica". –
Meno di 1 secondo per un banale mondo ciao. 10-20 secondi per una grande app con 20mb di risorse, 100kloc e 60 librerie – pfn
1) Definire a lungo. 2) Cosa stai facendo ora? (eclipse/maven/gradle cosa?) –
Sto usando Eclipse, ma c'è un ritardo di 15-30 secondi ogni volta che costruisci il progetto per vedere i cambiamenti che possono essere banali (cambiamenti di layout). Il caricamento dinamico delle classi può essere utilizzato come in JRebel o [Play!] (Http://www.playframework.com/) per rendere immediatamente visibili le modifiche? –
Sono inclinato verso il no, ma forse qualcuno mi correggerà. Se si sta eseguendo la distribuzione su emulatore/dispositivo, allora sì, si avrà un certo ritardo poiché sta superando adb. Il tuo PC non ha accesso diretto a Dalvik VM. Ricorda che i tuoi servizi sono cross-compiling e packaging, non distribuisci file di classe su un server web locale. Se stai modificando solo il layout xml, puoi provare a utilizzare gli strumenti di anteprima del layout per vedere come apparirà. Se sto apportando modifiche al codice, mi aspetto che il ritardo citato. –